提交 beb127a5 编写于 作者: A aefimov

8032901: WaitForMultipleObjects() return value not handled appropriately

Reviewed-by: dholmes, sla
上级 bf947da8
......@@ -200,6 +200,17 @@ sysIPMutexEnter(sys_ipmutex_t mutex, sys_event_t event)
rc = WaitForMultipleObjects(count, handles,
FALSE, /* wait for either, not both */
INFINITE); /* infinite timeout */
/* If the mutex is abandoned we will consider this a fatal error
* and abort with appropriate message.
*
* Note that only mutexes can be abandoned and that our mutex is
* always at position 0 in the handles array. Thus we only need
* to check WAIT_ABANDONED_0 (not WAIT_ABANDONED_0 + x).
*/
if (rc == WAIT_ABANDONED_0) {
exitTransportWithError("Observed abandoned IP mutex. Aborting.",THIS_FILE, __DATE__, __LINE__);
}
return (rc == WAIT_OBJECT_0) ? SYS_OK : SYS_ERR;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册