xref: /csrg-svn/lib/libc/vax/sys/sigprocmask.s (revision 61222)
138802Skarels/*
2*61222Sbostic * Copyright (c) 1989, 1993
3*61222Sbostic *	The Regents of the University of California.  All rights reserved.
438802Skarels *
542642Sbostic * %sccs.include.redist.c%
638802Skarels */
738802Skarels
838802Skarels#if defined(SYSLIBC_SCCS) && !defined(lint)
9*61222Sbostic	.asciz "@(#)sigprocmask.s	8.1 (Berkeley) 06/04/93"
1038802Skarels#endif /* SYSLIBC_SCCS and not lint */
1138802Skarels
1238802Skarels#include "SYS.h"
1338802Skarels
1438802Skarelserr:
1538802Skarels	jmp	cerror
1638802Skarels
1738802SkarelsENTRY(sigprocmask)
1839265Storek	tstl	8(ap)			# check new sigset pointer
1938802Skarels	bneq	1f			# if not null, indirect
2039265Storek/*	movl	$0,8(ap)		# null mask pointer: block empty set */
2139265Storek	movl	$1,4(ap)		# SIG_BLOCK
2238802Skarels	jbr	2f
2339265Storek1:	movl	*8(ap),8(ap)		# indirect to new mask arg
2438802Skarels2:	chmk	$SYS_sigprocmask
2538802Skarels	jcs	err
2639265Storek	tstl	12(ap)			# test if old mask requested
2738802Skarels	beql	out
2839265Storek	movl	r0,*12(ap)		# store old mask
2938802Skarelsout:
3038802Skarels	clrl	r0
3138802Skarels	ret
32