news download themes documentation links










FbTk::SignalHandler Class Reference

Handles system signals, singleton. More...

#include <SignalHandler.hh>

List of all members.

Public Member Functions

bool registerHandler (int signum, SignalEventHandler *eh, SignalEventHandler **oldhandler_ret=0)
void removeHandler (int signum)

Static Public Member Functions

SignalHandlerinstance ()
 get singleton object


Detailed Description

Handles system signals, singleton.

Usage: inherit the class SignalEventHandler and then register it to SignalHandler by calling registerHandler with a signal number

Definition at line 44 of file SignalHandler.hh.


Member Function Documentation

bool FbTk::SignalHandler::registerHandler int  signum,
SignalEventHandler eh,
SignalEventHandler **  oldhandler_ret = 0
 

Register an event handler

Returns:
true on success else false
Parameters:
signum signal number
eh event handler
oldhandler_ret return handler to old sighandler

Definition at line 41 of file SignalHandler.cc.

Referenced by Fluxbox::Fluxbox().

00042                                                                          {
00043     // must be less than NSIG
00044     if (signum >= NSIG)
00045         return false;
00046 
00047     // get old signal handler for this signum
00048     if (oldhandler_ret != 0)
00049         *oldhandler_ret = s_signal_handler[signum];
00050     
00051     struct sigaction sa;
00052     // set callback
00053     sa.sa_handler = SignalHandler::handleSignal;
00054     sigemptyset (&sa.sa_mask);
00055     sa.sa_flags = 0;
00056     
00057     if (sigaction(signum, &sa, 0) == -1)
00058         return false;
00059     
00060     s_signal_handler[signum] = eh;
00061     
00062     return true;
00063 }

void FbTk::SignalHandler::removeHandler int  signum  ) 
 

removes the signum handler

Parameters:
signum signal number

Definition at line 65 of file SignalHandler.cc.

00065                                             {
00066     if (signum < NSIG)
00067         s_signal_handler[signum] = 0; // clear handler pointer
00068 }


The documentation for this class was generated from the following files:

Fluxbox CVS-Jan-2003




      



Got comments about the page? Send them to webmaster.
If you have general Fluxbox related questions ask them on our irc channel or mailing lists.

Show Source








Designed by aLEczapKA