141855Sbostic/*- 241855Sbostic * Copyright (c) 1990 The Regents of the University of California. 341855Sbostic * All rights reserved. 441855Sbostic * 541855Sbostic * This code is derived from software contributed to Berkeley by 641855Sbostic * the Systems Programming Group of the University of Utah Computer 741855Sbostic * Science Department. 841855Sbostic * 941855Sbostic * %sccs.include.redist.c% 1041855Sbostic */ 1141855Sbostic 1241855Sbostic#if defined(LIBC_SCCS) && !defined(lint) 13*42937Sbostic .asciz "@(#)sigprocmask.s 5.2 (Berkeley) 06/06/90" 1441855Sbostic#endif /* LIBC_SCCS and not lint */ 1541855Sbostic 1641855Sbostic#include "SYS.h" 1741855Sbostic 18*42937Sbostic .even 1941855Sbosticerr: 2041855Sbostic jmp cerror 2141855Sbostic 2241855SbosticENTRY(sigprocmask) 2341855Sbostic tstl sp@(8) /* check new sigset pointer */ 2441855Sbostic jne gotptr /* if not null, indirect */ 2541855Sbostic/* movl #0,sp@(8) /* null mask pointer: block empty set */ 2641855Sbostic movl #1,sp@(4) /* SIG_BLOCK */ 2741855Sbostic jra doit 2841855Sbosticgotptr: 2941855Sbostic movl sp@(8),a0 3041855Sbostic movl a0@,sp@(8) /* indirect to new mask arg */ 3141855Sbosticdoit: 3241855Sbostic movl #SYS_sigprocmask,d0 3341855Sbostic trap #0 3441855Sbostic jcs err 3541855Sbostic tstl sp@(12) /* test if old mask requested */ 3641855Sbostic jeq out 3741855Sbostic movl sp@(12),a0 3841855Sbostic movl d0,a0@ /* store old mask */ 3941855Sbosticout: 4041855Sbostic clrl d0 4141855Sbostic rts 42