138802Skarels/* 238802Skarels * Copyright (c) 1989 Regents of the University of California. 338802Skarels * All rights reserved. 438802Skarels * 538802Skarels * Redistribution and use in source and binary forms are permitted 638802Skarels * provided that the above copyright notice and this paragraph are 738802Skarels * duplicated in all such forms and that any documentation, 838802Skarels * advertising materials, and other materials related to such 938802Skarels * distribution and use acknowledge that the software was developed 1038802Skarels * by the University of California, Berkeley. The name of the 1138802Skarels * University may not be used to endorse or promote products derived 1238802Skarels * from this software without specific prior written permission. 1338802Skarels * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 1438802Skarels * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 1538802Skarels * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 1638802Skarels */ 1738802Skarels 1838802Skarels#if defined(SYSLIBC_SCCS) && !defined(lint) 19*39265Storek .asciz "@(#)sigprocmask.s 5.2 (Berkeley) 10/10/89" 2038802Skarels#endif /* SYSLIBC_SCCS and not lint */ 2138802Skarels 2238802Skarels#include "SYS.h" 2338802Skarels 2438802Skarelserr: 2538802Skarels jmp cerror 2638802Skarels 2738802SkarelsENTRY(sigprocmask) 28*39265Storek tstl 8(ap) # check new sigset pointer 2938802Skarels bneq 1f # if not null, indirect 30*39265Storek/* movl $0,8(ap) # null mask pointer: block empty set */ 31*39265Storek movl $1,4(ap) # SIG_BLOCK 3238802Skarels jbr 2f 33*39265Storek1: movl *8(ap),8(ap) # indirect to new mask arg 3438802Skarels2: chmk $SYS_sigprocmask 3538802Skarels jcs err 36*39265Storek tstl 12(ap) # test if old mask requested 3738802Skarels beql out 38*39265Storek movl r0,*12(ap) # store old mask 3938802Skarelsout: 4038802Skarels clrl r0 4138802Skarels ret 42