1/*- 2 * Copyright (c) 1990, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * the Systems Programming Group of the University of Utah Computer 7 * Science Department. 8 * 9 * %sccs.include.redist.c% 10 */ 11 12#if defined(LIBC_SCCS) && !defined(lint) 13 .asciz "@(#)sigprocmask.s 8.1 (Berkeley) 06/04/93" 14#endif /* LIBC_SCCS and not lint */ 15 16#include "SYS.h" 17 18 .even 19err: 20 jmp cerror 21 22ENTRY(sigprocmask) 23 tstl sp@(8) /* check new sigset pointer */ 24 jne gotptr /* if not null, indirect */ 25/* movl #0,sp@(8) /* null mask pointer: block empty set */ 26 movl #1,sp@(4) /* SIG_BLOCK */ 27 jra doit 28gotptr: 29 movl sp@(8),a0 30 movl a0@,sp@(8) /* indirect to new mask arg */ 31doit: 32 movl #SYS_sigprocmask,d0 33 trap #0 34 jcs err 35 tstl sp@(12) /* test if old mask requested */ 36 jeq out 37 movl sp@(12),a0 38 movl d0,a0@ /* store old mask */ 39out: 40 clrl d0 41 rts 42