Annotation of 43BSDReno/old/man/sigset.3, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1980 Regents of the University of California.
        !             2: .\" All rights reserved.  The Berkeley software License Agreement
        !             3: .\" specifies the terms and conditions for redistribution.
        !             4: .\"
        !             5: .\"    @(#)sigset.3    4.1 (Berkeley) 5/15/85
        !             6: .\"
        !             7: .TH SIGSET 3
        !             8: .UC 4
        !             9: .SH NAME
        !            10: sigset, signal, sighold, sigignore, sigrelse, sigpause \- manage signals
        !            11: .SH SYNOPSIS
        !            12: .nf
        !            13: .B #include <signal.h>
        !            14: .B void action();
        !            15: .B int sig;
        !            16: .PP
        !            17: .B sigset(sig, action)
        !            18: .B signal(sig, action)
        !            19: .PP
        !            20: .B sighold(sig)
        !            21: .B sigignore(sig)
        !            22: .B sigrelse(sig)
        !            23: .PP
        !            24: .B sigpause(sig)
        !            25: .PP
        !            26: .fi
        !            27: .B cc ... \-ljobs
        !            28: .nf
        !            29: .SH DESCRIPTION
        !            30: This is a package of signal management functions to manage the signals
        !            31: as described in
        !            32: .IR sigsys (2).
        !            33: These functions are available only in this version of UNIX, and should
        !            34: not be used when the mechanisms of
        !            35: .IR signal (2)
        !            36: would suffice, as they would then impair portability.
        !            37: These functions are contained in the \fIjobs\fR library, obtained by
        !            38: specifying the loader option \fB\-ljobs\fR.
        !            39: .PP
        !            40: .I Sigset
        !            41: is used to provide a default signal handler for signal
        !            42: .I sig.
        !            43: This function is remembered across subsequent calls to the other
        !            44: functions, and need not be specified again.
        !            45: After
        !            46: .I sigset
        !            47: instances of
        !            48: .I sig
        !            49: will cause an interrupt to be taken at
        !            50: .I func,
        !            51: with the signal then held so that recursive trapping due to
        !            52: the signal will not occur.  During normal return from
        !            53: .I func,
        !            54: the routines arrange for the signal action to be restored so that
        !            55: subsequent signals will also trap to
        !            56: .I func.
        !            57: If a non-local exit is to be taken, then
        !            58: .I sigrelse
        !            59: must be called to un-hold the signal action, restoring the
        !            60: original catch.
        !            61: .I Func
        !            62: may also be specified as
        !            63: SIG_DFL, SIG_IGN or SIG_HOLD, as described in
        !            64: .IR sigsys (2).
        !            65: The value specified on the previous call to
        !            66: .I sigset
        !            67: is returned; if
        !            68: .I sigset
        !            69: has never been called, then the default action inherited from the
        !            70: system is returned.
        !            71: .PP
        !            72: .I Signal
        !            73: is like
        !            74: .I sigset,
        !            75: but the signal will not be held when the action routine is called;
        !            76: rather it will have reverted to SIG_DFL.
        !            77: This is generally unsafe, but is included for backwards compatibility
        !            78: to the old signal mechanism.
        !            79: It should not be used.
        !            80: .PP
        !            81: .I Sighold
        !            82: and
        !            83: .I sigrelse
        !            84: may be used to block off
        !            85: .I sig
        !            86: in a piece of code where it cannot be tolerated.
        !            87: After
        !            88: .I sigrelse
        !            89: the catch initially set with
        !            90: .I sigset
        !            91: will be restored.
        !            92: .PP
        !            93: .I Sigignore
        !            94: can be used to temporarily set the action for
        !            95: .I sig
        !            96: to ignore the signal.  If the signal had been held before
        !            97: the call to
        !            98: .I sigignore,
        !            99: any pending instance of the signal will be discarded.
        !           100: .PP
        !           101: .I Sigpause
        !           102: may be used by a routine which wishes to check for some condition
        !           103: produced at interrupt level by the
        !           104: .I sig
        !           105: signal, and then to pause waiting for the condition to arise with
        !           106: the catch of the signal enabled.
        !           107: In correct usage it must be preceded by an instance of
        !           108: .I sighold
        !           109: to block the signal.
        !           110: .I Sigpause
        !           111: is like
        !           112: .I pause
        !           113: in that it will return after
        !           114: .I any
        !           115: signal is processed.
        !           116: The usual thing to do then is to reenable the hold with
        !           117: .I sighold,
        !           118: check the condition
        !           119: again, and
        !           120: .I sigpause
        !           121: again if the condition has not arisen.
        !           122: .SH "SEE ALSO"
        !           123: sigsys(2), signal(2), jobs(3), tty(4)
        !           124: .SH BUGS
        !           125: .I Sighold
        !           126: and
        !           127: .I sigrelse
        !           128: do not nest; the first
        !           129: .I sigrelse
        !           130: restores the default catch.
        !           131: .PP
        !           132: These functions store information in data space.  You thus
        !           133: .B must
        !           134: call
        !           135: .IR sigsys (2)
        !           136: rather than any of
        !           137: .I sigset
        !           138: or
        !           139: .I signal
        !           140: after a
        !           141: .IR vfork (2)
        !           142: in the child which is to then
        !           143: .IR exec (2).

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.