dsignal.h File Reference

Contains the API for serializing signals to a pipe for usage with select() or poll(). More...

Go to the source code of this file.

Functions

int daemon_signal_init (int s,...)
 Installs signal handlers for the specified signals.
int daemon_signal_install (int s)
 Install a signal handler for the specified signal.
void daemon_signal_done (void)
 Free resources of signal handling, should be called before daemon exit.
int daemon_signal_next (void)
 Return the next signal recieved.
int daemon_signal_fd (void)
 Return the file descriptor the daemon should select() on for reading.

Detailed Description

Contains the API for serializing signals to a pipe for usage with select() or poll().

You should register all signals you wish to handle with select() in your main loop with daemon_signal_init() or daemon_signal_install(). After that you should sleep on the file descriptor returned by daemon_signal_fd() and get the next signal recieved with daemon_signal_next(). You should call daemon_signal_done() before exiting.

Definition in file dsignal.h.


Function Documentation

void daemon_signal_done ( void   ) 

Free resources of signal handling, should be called before daemon exit.

Examples:
testd.c.
int daemon_signal_fd ( void   ) 

Return the file descriptor the daemon should select() on for reading.

Whenever the descriptor is ready you should call daemon_signal_next() to get the next signal queued.

Returns:
The file descriptor or negative on failure
Examples:
testd.c.
int daemon_signal_init ( int  s,
  ... 
)

Installs signal handlers for the specified signals.

Parameters:
s,... The signals to install handlers for. The list should be terminated by 0
Returns:
zero on success, nonzero on failure
Examples:
testd.c.
int daemon_signal_install ( int  s  ) 

Install a signal handler for the specified signal.

Parameters:
s The signalto install handler for
Returns:
zero onsuccess,nonzero on failure
int daemon_signal_next ( void   ) 

Return the next signal recieved.

This function will not block. Instead it returns 0 if no signal is queued.

Returns:
The next queued signal if one is queued, zero if none is queued, negative on failure.
Examples:
testd.c.

Generated on 18 Oct 2009 for libdaemon by  doxygen 1.6.1