diff options
| author | Tom Yu <tlyu@mit.edu> | 2011-12-12 20:44:14 +0000 |
|---|---|---|
| committer | Tom Yu <tlyu@mit.edu> | 2011-12-12 20:44:14 +0000 |
| commit | 569d0874b655747abec8a8932276aa151e1eb76c (patch) | |
| tree | 1489dcb6fc6ad348ca93662496a7bcde4bb1427b /src/ccapi/server/win/WorkItem.cpp | |
| parent | 873dd9569b5b20c36c64039138a14b7460f20d31 (diff) | |
| download | krb5-569d0874b655747abec8a8932276aa151e1eb76c.tar.gz krb5-569d0874b655747abec8a8932276aa151e1eb76c.tar.xz krb5-569d0874b655747abec8a8932276aa151e1eb76c.zip | |
windows ccapiserver: replace Sleep with event wait
Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
ticket: 7050
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25538 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/ccapi/server/win/WorkItem.cpp')
| -rw-r--r-- | src/ccapi/server/win/WorkItem.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/ccapi/server/win/WorkItem.cpp b/src/ccapi/server/win/WorkItem.cpp index 22e209de9..79a348737 100644 --- a/src/ccapi/server/win/WorkItem.cpp +++ b/src/ccapi/server/win/WorkItem.cpp @@ -103,10 +103,26 @@ char* WorkItem::print(char* buf) { return buf; } +int WorkList::initialize() { + hEvent = CreateEvent(NULL, FALSE, FALSE, NULL); + return 0; + } + +int WorkList::cleanup() { + CloseHandle(hEvent); + hEvent = INVALID_HANDLE_VALUE; + return 0; + } + +void WorkList::wait() { + WaitForSingleObject(hEvent, INFINITE); + } + int WorkList::add(WorkItem* item) { EnterCriticalSection(&cs); wl.push_front(item); LeaveCriticalSection(&cs); + SetEvent(hEvent); return 1; } |
