diff options
author | Benoit Foucher <benoit@zeroc.com> | 2009-08-21 17:58:28 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2009-08-21 17:58:28 +0200 |
commit | cd9db77e02360a69c554ce770ba322b6027abc7c (patch) | |
tree | ae05b44108de5b4738d93d1a6c4acdc348e09b3f /cpp/src/Ice/ThreadPool.cpp | |
parent | adding missing rules in py/python/Makefile.mak (diff) | |
download | ice-cd9db77e02360a69c554ce770ba322b6027abc7c.tar.bz2 ice-cd9db77e02360a69c554ce770ba322b6027abc7c.tar.xz ice-cd9db77e02360a69c554ce770ba322b6027abc7c.zip |
Fixed Win32 shutdown bug
Diffstat (limited to 'cpp/src/Ice/ThreadPool.cpp')
-rw-r--r-- | cpp/src/Ice/ThreadPool.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/cpp/src/Ice/ThreadPool.cpp b/cpp/src/Ice/ThreadPool.cpp index d74b0222ddc..3c5a9a82311 100644 --- a/cpp/src/Ice/ThreadPool.cpp +++ b/cpp/src/Ice/ThreadPool.cpp @@ -182,10 +182,14 @@ public: throw CommunicatorDestroyedException(__FILE__, __LINE__); } _workItems.push_back(item); +#ifndef ICE_USE_IOCP if(_workItems.size() == 1) { postMessage(); } +#else + postMessage(); +#endif } #ifdef ICE_USE_IOCP @@ -212,9 +216,9 @@ public: workItem = _workItems.front(); _workItems.pop_front(); +#ifndef ICE_USE_IOCP if(_workItems.empty()) { -#ifndef ICE_USE_IOCP char c; while(true) { @@ -237,12 +241,15 @@ public: } break; } -#endif } +#endif } else { assert(_destroyed); +#ifdef ICE_USE_IOCP + postMessage(); +#endif } } |