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