Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sigset(2) — DG/UX R4.11MU05

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

kill(2)

pause(2)

ptrace(2)

wait(2)

sde-target(1)



sigset(2)                      DG/UX R4.11MU05                     sigset(2)


NAME
       sigset - specify what to do upon presentation of a signal

SYNOPSIS
       #include <signal.h>

       void  (* sigset (signalnumber, action))()
       int   signalnumber;
       void  (*action)();

   where:
       signalnumber  Any of the valid signals except SIGKILL (see signal.h
                      for a complete list)

       action         Handler for the signal: SIG_DFL, SIG_IGN, SIG_HOLD, or
                      a function address

DESCRIPTION
       Sigset lets the calling process choose one of four ways to handle the
       presentation of a specific signal.  signalnumber specifies the
       signal and action specifies the choice.  The action choices are as
       follows:

       SIG_DFL   Process termination.

                 The process's signal action vector entry for signalnumber
                 is set to `default' and the blocked signal vector entry for
                 signalnumber is cleared.

                 When the signal signalnumber is sent to the process, it
                 will not be pended and will cause the process to either
                 terminate, stop, ignore the signal, or terminate with a
                 core dump depending on the signal's type (see signal.h).

                 If a core dump is indicated, the receiving process must
                 have adequate permission to do so.

       SIG_IGN   Ignore signal.

                 The process's signal action vector entry for signalnumber
                 is set to `ignore' and the blocked signal vector entry for
                 signalnumber is cleared.

                 When the signal signalnumber is sent to the process, it
                 will not be pended and will be discarded.

                 SIGKILL, SIGCONT and SIGSTOP cannot be ignored.

       SIG_HOLD  Hold signal.

                 The process's signal action vector entry for signalnumber
                 is not modified, but the block signal vector entry for
                 signalnumber is set.  This option is equivalent to the
                 system call sighold.

       address   Catch signal.

                 The process's signal action vector entry for signalnumber
                 is set to `catch' and the blocked signal vector entry for
                 signalnumber is cleared.  If the signal signalnumber was
                 pended, the signal is presented to the process.

                 When the signal signalnumber is sent to the process, it
                 will not be pended and will cause signal handler specified
                 by action to be invoked.  Upon invocation of the signal
                 handler the first argument to the handler function will
                 always be the number of the caught signal.  Other signal
                 state information may be passed to the handler via
                 arguments depending upon the current software development
                 environment.  See siginfo(5) and sde-target(1) for details.

                 The following attributes are set for the signal action
                 vector entry for signalnumber:

                 ·      The signal mask addend is set to the specified
                        signal.  Thus, the specified signal will be added to
                        the set of blocked signals when the signal handler
                        is invoked.

                 ·      The signal stack choice specifies the current
                        execution stack.  Thus, no stack change is made.

                 ·      System calls interrupted by signal signalnumber
                        will not be restarted.

                 SIGKILL cannot be caught.

       After a fork, the child process inherits all software signal
       structures, except that the pending signal vector is cleared.

       Exec modifies the software signal structures in the following manner:
       1) The signal action for signals set to `catch' is changed to
       `default'.  2) The signal stack context is discarded.  3) All other
       software signal structures are unchanged.

       Setting the signal SIGCLD to SIG_IGN affects exit and wait in the
       following manner: 1) The calling process's child processes will be
       cleaned-up by the system when they terminate.  2) If the calling
       process later performs a wait operation, wait will suspend the
       calling process until all child processes have terminated and will
       return with the error condition ECHILD.

       Signal will fail and the signal handler will be unchanged if an error
       occurs.

ACCESS CONTROL
       No access is required to install a signal handler.

       The receiving process is granted permission to produce a core dump
       file provided

       ·      the effective-user-id and the real-user-id of the receiving
              process are equal, and

       ·      the receiving process has adequate file system permission to
              create or rewrite the core dump file.

RETURN VALUE
       oldaction     Completed successfully.  The previous signal handler
                      for signalnumber is returned.

       SIG_ERR        An error occurred.  errno is set to indicate the
                      error.

DIAGNOSTICS
       Errno may be set to the following error code:

       EINVAL    Signalnumber is an illegal signal number, including
                 SIGKILL.

SEE ALSO
       kill(2), pause(2), ptrace(2), wait(2), sde-target(1).

STANDARDS
       When using m88kbcs as the Software Development Environment target,
       the sigset function will be emulated using BCS system calls.  Since
       this is an emulation requiring several BCS system calls, a slight
       performance degradation may be noticed in comparison to using sigset
       in /lib/libc.a.


Licensed material--property of copyright holder(s)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026