Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sigaction(2)

sigaddset(3)

sigemptyset(3)

signal(2)

standards(5)

bsd_signal(2)  —  System Calls

NAME

bsd_signal − Simplified signal facilities

LIBRARY

Standard C Library (libc.so, libc.a)

SYNOPSIS

#include <signal.h>

void (∗bsd_signal(
        int sig,
        void (∗function)(int)))(int);

STANDARDS

Interfaces documented on this reference page conform to industry standards as follows:

bsd_signal():  XPG4−UNIX

Refer to the standards(5) reference page for more information about industry standards and associated tags. 

PARAMETERS

sigDefines the signal. 

functionSpecifies the address of a signal handler. 

DESCRIPTION

The bsd_signal() function provides a partially compatible interface for programs written to historical system interfaces. 

The handler function should be declared:

void handler(int sig);

where sig is the signal number.  The behaviour is undefined if function is a function that takes more than one argument, or an argument of a different type. 

This function is a direct replacement for the BSD signal() function for simple applications that are installing a single-argument signal handler function.  If a BSD signal handler function is being installed that expects more than one argument, the application has to be modified to use sigaction().  The bsd_signal() function differs from signal() in that the SA_RESTART flag is set and the SA_RESETHAND will be clear when  the libsys5 version of bsd_signal() is used.  The state of these flags is not specified for signal(). 

RETURN VALUES

Upon successful completion, bsd_signal() returns the previous action for sig.  Otherwise, SIG_ERR is returned and errno is set to indicate the error. 

ERRORS

Refer to sigaction(2). 

RELATED INFORMATION

Functions: sigaction(2), sigaddset(3), sigemptyset(3), signal(2)

Standards: standards(5)

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