ldas-tools-al  2.6.4
Classes | Public Types | Static Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
LDASTools::AL::SignalHandler Class Reference

#include <SignalHandler.hh>

Inheritance diagram for LDASTools::AL::SignalHandler:
Inheritance graph
[legend]
Collaboration diagram for LDASTools::AL::SignalHandler:
Collaboration graph
[legend]

Classes

class  Callback
 
class  IgnoreCallback
 

Public Types

enum  signal_type {
  SIGNAL_ABORT, SIGNAL_ALARM, SIGNAL_HANGUP, SIGNAL_ISALIVE,
  SIGNAL_TERMINATE, SIGNAL_USER_1, SIGNAL_USER_2, SIGNAL_UNKNOWN,
  SIGNAL_ABORT, SIGNAL_ALARM, SIGNAL_HANGUP, SIGNAL_ISALIVE,
  SIGNAL_TERMINATE, SIGNAL_USER_1, SIGNAL_USER_2, SIGNAL_UNKNOWN
}
 
enum  signal_type {
  SIGNAL_ABORT, SIGNAL_ALARM, SIGNAL_HANGUP, SIGNAL_ISALIVE,
  SIGNAL_TERMINATE, SIGNAL_USER_1, SIGNAL_USER_2, SIGNAL_UNKNOWN,
  SIGNAL_ABORT, SIGNAL_ALARM, SIGNAL_HANGUP, SIGNAL_ISALIVE,
  SIGNAL_TERMINATE, SIGNAL_USER_1, SIGNAL_USER_2, SIGNAL_UNKNOWN
}
 

Static Public Member Functions

static void Register (Callback *CB, signal_type Signal)
 
static void Unregister (Callback *CB, signal_type Signal)
 
static void Callbacks (signal_type Signal)
 
static int OSSignal (signal_type Signal)
 
static void ThreadCaptureSignal (signal_type Signal)
 
static void ThreadIgnoreSignal (signal_type Signal)
 
static void Register (Callback *CB, signal_type Signal)
 
static void Unregister (Callback *CB, signal_type Signal)
 
static void Callbacks (signal_type Signal)
 
static int OSSignal (signal_type Signal)
 
static void ThreadCaptureSignal (signal_type Signal)
 
static void ThreadIgnoreSignal (signal_type Signal)
 
static SignalHandlerInstance ()
 
static SignalHandlerInstance ()
 

Static Public Attributes

static IgnoreCallback IgnoreCB
 

Private Types

typedef std::list< Callback *> callbacks_type
 
typedef LDASTools::AL::unordered_map< int, callbacks_typesignal_queue_type
 
typedef std::list< Callback *> callbacks_type
 
typedef LDASTools::AL::unordered_map< int, callbacks_typesignal_queue_type
 

Private Member Functions

void callbacks (signal_type Signal)
 
void reg (Callback *CB, signal_type Signal)
 Register a callback. More...
 
void unreg (Callback *CB, signal_type Signal)
 Unregister a callback. More...
 
void callbacks (signal_type Signal)
 
void reg (Callback *CB, signal_type Signal)
 
void unreg (Callback *CB, signal_type Signal)
 

Private Attributes

signal_queue_type signal_queue
 

Member Typedef Documentation

◆ callbacks_type [1/2]

◆ callbacks_type [2/2]

◆ signal_queue_type [1/2]

◆ signal_queue_type [2/2]

Member Enumeration Documentation

◆ signal_type [1/2]

Enumerator
SIGNAL_ABORT 
SIGNAL_ALARM 
SIGNAL_HANGUP 
SIGNAL_ISALIVE 
SIGNAL_TERMINATE 
SIGNAL_USER_1 
SIGNAL_USER_2 
SIGNAL_UNKNOWN 
SIGNAL_ABORT 
SIGNAL_ALARM 
SIGNAL_HANGUP 
SIGNAL_ISALIVE 
SIGNAL_TERMINATE 
SIGNAL_USER_1 
SIGNAL_USER_2 
SIGNAL_UNKNOWN 

◆ signal_type [2/2]

Enumerator
SIGNAL_ABORT 
SIGNAL_ALARM 
SIGNAL_HANGUP 
SIGNAL_ISALIVE 
SIGNAL_TERMINATE 
SIGNAL_USER_1 
SIGNAL_USER_2 
SIGNAL_UNKNOWN 
SIGNAL_ABORT 
SIGNAL_ALARM 
SIGNAL_HANGUP 
SIGNAL_ISALIVE 
SIGNAL_TERMINATE 
SIGNAL_USER_1 
SIGNAL_USER_2 
SIGNAL_UNKNOWN 

Member Function Documentation

◆ Callbacks() [1/2]

void LDASTools::AL::SignalHandler::Callbacks ( signal_type  Signal)
static

◆ Callbacks() [2/2]

static void LDASTools::AL::SignalHandler::Callbacks ( signal_type  Signal)
static

◆ callbacks() [1/2]

void LDASTools::AL::SignalHandler::callbacks ( signal_type  Signal)
private

◆ callbacks() [2/2]

void LDASTools::AL::SignalHandler::callbacks ( signal_type  Signal)
private

◆ Instance() [1/2]

static SignalHandler & LDASTools::AL::Singleton< SignalHandler >::Instance ( )
staticinherited

◆ Instance() [2/2]

static SignalHandler & LDASTools::AL::Singleton< SignalHandler >::Instance ( )
staticinherited

◆ OSSignal() [1/2]

int LDASTools::AL::SignalHandler::OSSignal ( signal_type  Signal)
static

◆ OSSignal() [2/2]

static int LDASTools::AL::SignalHandler::OSSignal ( signal_type  Signal)
static

◆ reg() [1/2]

void LDASTools::AL::SignalHandler::reg ( Callback CB,
signal_type  Signal 
)
private

Register a callback.

Todo:
Need to be able to store the handler retrieved in sa_old so when this signal handler is unloaded, the previous handler can be restored.

◆ reg() [2/2]

void LDASTools::AL::SignalHandler::reg ( Callback CB,
signal_type  Signal 
)
private

◆ Register() [1/2]

static void LDASTools::AL::SignalHandler::Register ( Callback CB,
signal_type  Signal 
)
static

◆ Register() [2/2]

void LDASTools::AL::SignalHandler::Register ( Callback CB,
signal_type  Signal 
)
static

◆ ThreadCaptureSignal() [1/2]

void LDASTools::AL::SignalHandler::ThreadCaptureSignal ( signal_type  Signal)
static

◆ ThreadCaptureSignal() [2/2]

static void LDASTools::AL::SignalHandler::ThreadCaptureSignal ( signal_type  Signal)
static

◆ ThreadIgnoreSignal() [1/2]

static void LDASTools::AL::SignalHandler::ThreadIgnoreSignal ( signal_type  Signal)
static

◆ ThreadIgnoreSignal() [2/2]

void LDASTools::AL::SignalHandler::ThreadIgnoreSignal ( signal_type  Signal)
static

◆ unreg() [1/2]

void LDASTools::AL::SignalHandler::unreg ( Callback CB,
signal_type  Signal 
)
private

Unregister a callback.

◆ unreg() [2/2]

void LDASTools::AL::SignalHandler::unreg ( Callback CB,
signal_type  Signal 
)
private

◆ Unregister() [1/2]

void LDASTools::AL::SignalHandler::Unregister ( Callback CB,
signal_type  Signal 
)
static

◆ Unregister() [2/2]

static void LDASTools::AL::SignalHandler::Unregister ( Callback CB,
signal_type  Signal 
)
static

Member Data Documentation

◆ IgnoreCB

static IgnoreCallback LDASTools::AL::SignalHandler::IgnoreCB
static

◆ signal_queue

signal_queue_type LDASTools::AL::SignalHandler::signal_queue
private

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