summaryrefslogtreecommitdiff
path: root/comm/Multiplexer.h
diff options
context:
space:
mode:
Diffstat (limited to 'comm/Multiplexer.h')
-rw-r--r--comm/Multiplexer.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/comm/Multiplexer.h b/comm/Multiplexer.h
index 0c30bfd..7024463 100644
--- a/comm/Multiplexer.h
+++ b/comm/Multiplexer.h
@@ -32,6 +32,7 @@ extern char* StrReprBuf;
//
class UchMultiplexer : public CcuSmartData {
friend class UchBaseTimeOut;
+friend class UchBaseSignalHandler;
protected:
pUchChannel* Channels;
@@ -44,6 +45,9 @@ protected:
short SelectCount;
bool Looping;
Millisecond TimeOut;
+ bool SigFired;
+ UchBaseSignalHandler** Handlers;
+ int* NbSignals;
int fd0; // used by HandleSelect and LoopScan
void SetMasks (int, IOMODE);
@@ -51,6 +55,8 @@ inline CcuTimerSet* GetTimerSet () { return &Timers; }
inline void SetTimeOut (Millisecond t) { TimeOut = t; }
inline void SuppressTimeOut () {TimeOut = -1; }
+ void RegisterSignal (UchBaseSignalHandler&);
+
public:
UchMultiplexer ();
~UchMultiplexer ();