Content-type: text/html Man page of ssignal

ssignal

Section: C Library Functions (3)
Index Return to Main Contents
 

NAME

ssignal, ssignal_r, gsignal, gsignal_r - Set and raise a software signal  

LIBRARY

Standard C Library (libc.a)  

SYNOPSIS

#include <signal.h>

void *ssignal(        int signal,
       void (*function)(int))) (int);

int gsignal(        int signal);

The following functions are supported to maintain backward compatibility with previous versions of the operating system.

void *ssignal_r(        int signal,
       void (*function) (int),
       void (*sigs[])(int))) (int);

int gsignal_r(        int signal,
       void (*sigs[])(int));

 

PARAMETERS

Defines the signal. Specifies the action associated with the signal. Specifies the array of signal functions. This structure must have at least 21 entries, each of which must be initialized to 0 (zero) by the caller.  

DESCRIPTION

These functions are obsolete and are retained for compatibility with earlier versions of the operating system.

The ssignal() and gsignal() functions implement a facility similar to that of the signal() function and the kill() system call. However, there is no connection between the two facilities. User programs can use the ssignal() and gsignal() functions to handle exception processing within an application. signal() and related functions handle system-defined exceptions.

The signals available are associated with integers in the range 1 to 15. Other values are reserved for use by the C library and should not be used.

The ssignal() function associates the procedure specified by the function parameter with the signal specified by the signal parameter. The gsignal() function raises the signal, causing the procedure specified by the function parameter to be taken.

The function parameter is either a pointer to a user-defined function, or either of the constants SIG_DFL (default action) or SIG_IGN (ignore signal). The ssignal() function returns the procedure that was previously established for that signal. If no procedure was established before or if the signal number is illegal, then ssignal() returns the value SIG_DFL.

The gsignal() function raises the signal specified by the signal parameter by performing the following: If the procedure for signal is SIG_DFL, the gsignal() function returns a value of 0 (zero) and takes no other action. If the procedure for signal is SIG_IGN, the gsignal() function returns a value of 1 and takes no other action. If the procedure for signal is a function, the function value is reset to SIG_DFL and the function is called with signal passed as its parameter. The gsignal() function returns the value returned by the calling function with a single integer argument, which is the value of signal. If the procedure for signal is illegal or if no procedure is specified for that signal, gsignal() returns a value of 0 (zero) and takes no other action.  

NOTES

The ssignal_r() and gsignal_r() functions are the reentrant versions of the ssignal() and gsignal() functions. They are supported in order to maintain backward compatibility with previous versions of the operating system. Upon successful completion, the ssignal_r() and gsignal_r() functions place pointers in or retrieve pointers from the signal structure in sigs.  

RETURN VALUES

The ssignal() and ssignal_r() functions return the value of the previously installed function if there was one, or SIG_DFL if there was not a previously installed function. If the value of signal was illegal the ssignal() and ssignal_r() functions return SIG_DFL.

The gsignal() and gsignal_r() functions return a value of 0 (zero) if the procedure for signal is illegal, or if SIG_DFL is the action for signal. The gsignal() and gsignal_r() functions return a value of 1 if the procedure for signal is SIG_IGN. If none of these are true, then the gsignal() and gsignal_r() functions return the value returned by the calling function.  

RELATED INFORMATION

Functions: kill(2), signal(2). delim off


 

Index

NAME
LIBRARY
SYNOPSIS
PARAMETERS
DESCRIPTION
NOTES
RETURN VALUES
RELATED INFORMATION

This document was created by man2html, using the manual pages.
Time: 02:40:48 GMT, October 02, 2010