1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
/* -*- C++ -*- */
//=============================================================================
/**
* @file QoS_Signal_Handler.h
*
* $Id: QoS_Signal_Handler.h 93639 2011-03-24 13:32:13Z johnnyw $
*
* @author Vishal Kachroo <vishal@cs.wustl.edu>
*/
//=============================================================================
#ifndef QOS_SIGNAL_HANDLER_H
#define QOS_SIGNAL_HANDLER_H
#include "ace/Event_Handler.h"
#include "ace/QoS/QoS_Session.h"
/**
* @class QoS_Signal_Handler
TITLE
* This class Handles the SIGINT signal through the Reactor.
* Useful to gracefully release QoS sessions.
*/
class QoS_Signal_Handler : public ACE_Event_Handler
{
public:
/// constructor.
QoS_Signal_Handler (ACE_QoS_Session *qos_session);
/// Override this method to implement graceful shutdown.
int handle_signal(int signum, siginfo_t*,ucontext_t*);
private:
/// Session to be gracefully shutdown.
ACE_QoS_Session *qos_session_;
};
#endif /* QOS_SIGNAL_HANDLER_H */
|