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