xref: /onnv-gate/usr/src/lib/libast/common/comp/sigflag.c (revision 12068:08a39a083754)
1*12068SRoger.Faulkner@Oracle.COM /***********************************************************************
2*12068SRoger.Faulkner@Oracle.COM *                                                                      *
3*12068SRoger.Faulkner@Oracle.COM *               This software is part of the ast package               *
4*12068SRoger.Faulkner@Oracle.COM *          Copyright (c) 1985-2010 AT&T Intellectual Property          *
5*12068SRoger.Faulkner@Oracle.COM *                      and is licensed under the                       *
6*12068SRoger.Faulkner@Oracle.COM *                  Common Public License, Version 1.0                  *
7*12068SRoger.Faulkner@Oracle.COM *                    by AT&T Intellectual Property                     *
8*12068SRoger.Faulkner@Oracle.COM *                                                                      *
9*12068SRoger.Faulkner@Oracle.COM *                A copy of the License is available at                 *
10*12068SRoger.Faulkner@Oracle.COM *            http://www.opensource.org/licenses/cpl1.0.txt             *
11*12068SRoger.Faulkner@Oracle.COM *         (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9)         *
12*12068SRoger.Faulkner@Oracle.COM *                                                                      *
13*12068SRoger.Faulkner@Oracle.COM *              Information and Software Systems Research               *
14*12068SRoger.Faulkner@Oracle.COM *                            AT&T Research                             *
15*12068SRoger.Faulkner@Oracle.COM *                           Florham Park NJ                            *
16*12068SRoger.Faulkner@Oracle.COM *                                                                      *
17*12068SRoger.Faulkner@Oracle.COM *                 Glenn Fowler <gsf@research.att.com>                  *
18*12068SRoger.Faulkner@Oracle.COM *                  David Korn <dgk@research.att.com>                   *
19*12068SRoger.Faulkner@Oracle.COM *                   Phong Vo <kpv@research.att.com>                    *
20*12068SRoger.Faulkner@Oracle.COM *                                                                      *
21*12068SRoger.Faulkner@Oracle.COM ***********************************************************************/
22*12068SRoger.Faulkner@Oracle.COM #pragma prototyped
23*12068SRoger.Faulkner@Oracle.COM 
24*12068SRoger.Faulkner@Oracle.COM #include <ast.h>
25*12068SRoger.Faulkner@Oracle.COM 
26*12068SRoger.Faulkner@Oracle.COM #if _lib_sigflag
27*12068SRoger.Faulkner@Oracle.COM 
28*12068SRoger.Faulkner@Oracle.COM NoN(sigflag)
29*12068SRoger.Faulkner@Oracle.COM 
30*12068SRoger.Faulkner@Oracle.COM #else
31*12068SRoger.Faulkner@Oracle.COM 
32*12068SRoger.Faulkner@Oracle.COM #include <sig.h>
33*12068SRoger.Faulkner@Oracle.COM 
34*12068SRoger.Faulkner@Oracle.COM int
35*12068SRoger.Faulkner@Oracle.COM sigflag(int sig, int flags, int set)
36*12068SRoger.Faulkner@Oracle.COM {
37*12068SRoger.Faulkner@Oracle.COM #if _lib_sigaction
38*12068SRoger.Faulkner@Oracle.COM 	struct sigaction	sa;
39*12068SRoger.Faulkner@Oracle.COM 
40*12068SRoger.Faulkner@Oracle.COM 	if (sigaction(sig, NiL, &sa))
41*12068SRoger.Faulkner@Oracle.COM 		return -1;
42*12068SRoger.Faulkner@Oracle.COM 	if (set)
43*12068SRoger.Faulkner@Oracle.COM 		sa.sa_flags |= flags;
44*12068SRoger.Faulkner@Oracle.COM 	else
45*12068SRoger.Faulkner@Oracle.COM 		sa.sa_flags &= ~flags;
46*12068SRoger.Faulkner@Oracle.COM 	return sigaction(sig, &sa, NiL);
47*12068SRoger.Faulkner@Oracle.COM #else
48*12068SRoger.Faulkner@Oracle.COM 	return -1;
49*12068SRoger.Faulkner@Oracle.COM #endif
50*12068SRoger.Faulkner@Oracle.COM }
51*12068SRoger.Faulkner@Oracle.COM 
52*12068SRoger.Faulkner@Oracle.COM #endif
53