diff options
author | weidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0> | 2006-04-06 21:20:25 +0000 |
---|---|---|
committer | weidai <weidai@57ff6487-cd31-0410-9ec3-f628ee90f5f0> | 2006-04-06 21:20:25 +0000 |
commit | 82c4eb38804e011cfd855bc9e292f7533bfe4c2f (patch) | |
tree | 34dba126863f587607debfecab883867f5f2d3dd /cryptlib.h | |
parent | 4c4b05b70d06e818417f6b4f879183a2f233c91b (diff) | |
download | cryptopp-82c4eb38804e011cfd855bc9e292f7533bfe4c2f.tar.gz |
merge in changes by denis bider and fix compile on gcc 3.4.4 and MSVC 6
git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@219 57ff6487-cd31-0410-9ec3-f628ee90f5f0
Diffstat (limited to 'cryptlib.h')
-rw-r--r-- | cryptlib.h | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -661,6 +661,7 @@ public: CRYPTOPP_DLL RandomNumberGenerator & CRYPTOPP_API NullRNG(); class WaitObjectContainer; +class CallStack; //! interface for objects that you can wait for @@ -670,10 +671,14 @@ public: //! maximum number of wait objects that this object can return virtual unsigned int GetMaxWaitObjectCount() const =0; //! put wait objects into container - virtual void GetWaitObjects(WaitObjectContainer &container) =0; + /*! \param callStack is used for tracing no wait loops, example: + something.GetWaitObjects(c, CallStack("my func after X", 0)); + - or in an outer GetWaitObjects() method that itself takes a callStack parameter: + innerThing.GetWaitObjects(c, CallStack("MyClass::GetWaitObjects at X", &callStack)); */ + virtual void GetWaitObjects(WaitObjectContainer &container, CallStack const& callStack) =0; //! wait on this object /*! same as creating an empty container, calling GetWaitObjects(), and calling Wait() on the container */ - bool Wait(unsigned long milliseconds); + bool Wait(unsigned long milliseconds, CallStack const& callStack); }; //! interface for buffered transformations @@ -761,7 +766,7 @@ public: //! \name WAITING //@{ unsigned int GetMaxWaitObjectCount() const; - void GetWaitObjects(WaitObjectContainer &container); + void GetWaitObjects(WaitObjectContainer &container, CallStack const& callStack); //@} //! \name SIGNALS |