Index: src/libs/zbxsys/mutexs.c =================================================================== --- src/libs/zbxsys/mutexs.c (revision 56413) +++ src/libs/zbxsys/mutexs.c (working copy) @@ -186,17 +186,25 @@ { #ifndef _WINDOWS struct sembuf sem_lock; +#else + DWORD dwWaitResult; #endif if (ZBX_MUTEX_NULL == *mutex) return; #ifdef _WINDOWS - if (WAIT_OBJECT_0 != WaitForSingleObject(*mutex, INFINITE)) + dwWaitResult = WaitForSingleObject(*mutex, INFINITE); + + switch (dwWaitResult) { - zbx_error("[file:'%s',line:%d] lock failed: %s", + case WAIT_OBJECT_0: + case WAIT_ABANDONED: + break; + default: + zbx_error("[file:'%s',line:%d] lock failed: %s", filename, line, strerror_from_system(GetLastError())); - exit(EXIT_FAILURE); + exit(EXIT_FAILURE); } #else sem_lock.sem_num = *mutex;