[Home]
[Search]
[Contents]
signal.h
Prototype
int raise(int sig);
Description
raise issues a signal to the executing program. The signal type, sig, is discussed in the signal description. When the signal is raised by the raise function call, the current signal-handling routine will be called. See signal() for a complete description.
Return Value
Returns 0 if successful, otherwise returns a non-zero value.
Compatibility
DOS Windows 3.x Phar Lap DOSX Win32
See Also
Example
/* Example for raise
Also demonstrates signal
*/
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
void div_zero (int val)
{
printf ("Divide by zero detected!\n");
exit (EXIT_FAILURE);
}
void main ()
{
float numerator = 3.0F, denominator = 0.0F;
if (signal (SIGFPE, div_zero) == SIG_ERR)
{
perror ("Could not set signal SIGFPR");
abort ();
}
if (denominator = 0.0F)
raise (SIGFPE);
else
printf (" The result of the division is
%g\n", numerator / denominator);
}
Output
Divide by zero detected!
signal.h
Prototype
void (* signal(int sig, void (__cdecl *handler)(int)))(int);
Description
signal allows a program to define how signals from the operating system are handled. Argument sig must be one of these constants:
The following macros are special values for func:
signal sets the response. handler must be declared with C linkage. When a signal occurs, the signal's behavior is reset to SIG_DFL, the function for signal is called and sig is passed to it.
Return Value
Returns the previous value of handler. A return value of SIG_ERR indicates an error and errno is set.
Compatibility
DOS Windows 3.x Phar Lap DOSX Win32
See Also