1*18295Smckusick /* siginterrupt.c 4.1 85/03/11 */ 2*18295Smckusick 3*18295Smckusick #include <signal.h> 4*18295Smckusick 5*18295Smckusick /* 6*18295Smckusick * Set signal state to prevent restart of system calls 7*18295Smckusick * after an instance of the indicated signal. 8*18295Smckusick */ 9*18295Smckusick siginterrupt(sig, flag) 10*18295Smckusick int sig, flag; 11*18295Smckusick { 12*18295Smckusick struct sigvec sv; 13*18295Smckusick int ret; 14*18295Smckusick 15*18295Smckusick if ((ret = sigvec(sig, 0, &sv)) < 0) 16*18295Smckusick return (ret); 17*18295Smckusick if (flag) 18*18295Smckusick sv.sv_flags |= SV_INTERRUPT; 19*18295Smckusick else 20*18295Smckusick sv.sv_flags &= ~SV_INTERRUPT; 21*18295Smckusick return (sigvec(sig, &sv, 0)); 22*18295Smckusick } 23