(pthread_cache_done || pthread_once(&pthread_cache_once, create_once));
if (terminate_thread_handle == INVALID_HANDLE_VALUE) {
- terminate_thread_wakeup_event = CreateEvent((LPSECURITY_ATTRIBUTES) 0,
- TRUE, FALSE, (LPCTSTR) 0);
- terminate_thread_handle = CreateThread((LPSECURITY_ATTRIBUTES) 0, 0,
- terminate_thread_routine, (LPVOID) 0, 0,
- &terminate_thread_id);
+ CHAR eventName[MAX_PATH];
+ static eventCount = 0;
+ sprintf(eventName, "terminate_thread_wakeup_event %d::%d", _getpid(), eventCount++);
+ terminate_thread_wakeup_event = CreateEvent((LPSECURITY_ATTRIBUTES) 0,
+ TRUE, FALSE, (LPCTSTR) eventName);
+ terminate_thread_handle = CreateThread((LPSECURITY_ATTRIBUTES) 0, 0,
+ terminate_thread_routine, (LPVOID) 0, 0,
+ &terminate_thread_id);
} else {
SetEvent (terminate_thread_wakeup_event);
}
if (queue_IsEmpty(&waiter_cache)) {
new = (cond_waiters_t *) malloc(sizeof(cond_waiters_t));
if (new != NULL) {
- new->event = CreateEvent((LPSECURITY_ATTRIBUTES) 0, FALSE,
- FALSE, (LPCTSTR) 0);
+ CHAR eventName[MAX_PATH];
+ static eventCount = 0;
+ sprintf(eventName, "cond_waiters_t %d::%d", _getpid(), eventCount++);
+ new->event = CreateEvent((LPSECURITY_ATTRIBUTES) 0, FALSE,
+ FALSE, (LPCTSTR) eventName);
if (new->event == NULL) {
free(new);
new = NULL;