|
|
1.1 ! root 1: /*- ! 2: * Copyright (c) 1990 The Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * This code is derived from software contributed to Berkeley by ! 6: * William Jolitz. ! 7: * ! 8: * Redistribution and use in source and binary forms are permitted provided ! 9: * that: (1) source distributions retain this entire copyright notice and ! 10: * comment, and (2) distributions including binaries display the following ! 11: * acknowledgement: ``This product includes software developed by the ! 12: * University of California, Berkeley and its contributors'' in the ! 13: * documentation or other materials provided with the distribution and in ! 14: * all advertising materials mentioning features or use of this software. ! 15: * Neither the name of the University nor the names of its contributors may ! 16: * be used to endorse or promote products derived from this software without ! 17: * specific prior written permission. ! 18: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED ! 19: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF ! 20: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 21: */ ! 22: ! 23: #if defined(SYSLIBC_SCCS) && !defined(lint) ! 24: .asciz "@(#)sigprocmask.s 5.1 (Berkeley) 7/1/90" ! 25: #endif /* SYSLIBC_SCCS and not lint */ ! 26: ! 27: #include "SYS.h" ! 28: ! 29: err: ! 30: jmp cerror ! 31: ! 32: ENTRY(sigprocmask) ! 33: movl 8(%esp),%ecx # fetch new sigset pointer ! 34: cmpl $0,(%ecx) # check new sigset pointer ! 35: jne 1f # if not null, indirect ! 36: /* movl $0,8(%esp) # null mask pointer: block empty set */ ! 37: movl $1,4(%esp) # SIG_BLOCK ! 38: jmp 2f ! 39: 1: movl (%ecx),%ecx # fetch indirect ... ! 40: movl %ecx,8(%esp) # to new mask arg ! 41: 2: movl $ SYS_sigprocmask , %eax ! 42: LCALL(0x7,0) ! 43: jb err ! 44: movl 12(%esp),%ecx # fetch old mask requested ! 45: cmpl $0,%ecx # test if old mask requested ! 46: je out ! 47: movl %eax,(%ecx) # store old mask ! 48: out: ! 49: xorl %eax,%eax ! 50: ret
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.