Changeset 16779 for trunk/Cosy/base/msgqueue.h
- Timestamp:
- 06/09/13 12:51:13 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Cosy/base/msgqueue.h
r8843 r16779 2 2 #define COSY_MsgQueue 3 3 4 #ifndef ROOT_TMutex5 #include < TMutex.h>6 # endif7 8 #i fndef MARS_MThread9 #include "MThread.h"4 #ifndef __CINT__ 5 #include <list> 6 #include <mutex> 7 #include <thread> 8 #include <vector> 9 #include <condition_variable> 10 10 #endif 11 11 … … 13 13 #define WM_QUIT 0xffff 14 14 15 class MsgQueue : public MThread15 class MsgQueue 16 16 { 17 17 private: 18 int fNextMsg; 19 char *fNextPtr; 18 size_t fSize; // Only necessary for before C++11 20 19 21 TMutex fMuxMsg; 20 #ifndef __CINT__ 21 std::list<std::pair<int, std::vector<char>>> fList; 22 22 23 Int_t Thread(); 23 std::mutex fMutex; // Mutex needed for the conditional 24 std::condition_variable fCond; // Conditional 25 #endif 26 27 enum state_t 28 { 29 kIdle, 30 kRun, 31 kStop, 32 kAbort, 33 }; 34 35 state_t fState; // Stop signal for the thread 36 #ifndef __CINT__ 37 std::thread fThread; // Handle to the thread 38 #endif 39 40 void Thread(); 24 41 25 42 public: … … 29 46 int Break() const; 30 47 31 virtual Int_t Proc(int msg, void *mp1); 32 Int_t Proc(int msg) { return Proc(msg, 0); } 48 void CancelThread(); 49 50 virtual int Proc(int msg, void *mp1); 51 int Proc(int msg) { return Proc(msg, 0); } 33 52 34 53 void *PostMsg(int msg, void *mp1, int size);
Note:
See TracChangeset
for help on using the changeset viewer.