Paul Gofman (@gofman) commented about dlls/ntdll/unix/sync.c:
*/ NTSTATUS WINAPI NtWaitForSingleObject( HANDLE handle, BOOLEAN alertable, const LARGE_INTEGER *timeout ) { - return NtWaitForMultipleObjects( 1, &handle, FALSE, alertable, timeout ); + union select_op select_op; + UINT flags = SELECT_INTERRUPTIBLE; + unsigned int ret; + + TRACE( "handle %p, alertable %u, timeout %s\n", handle, alertable, debugstr_timeout(timeout) ); + + if ((ret = inproc_wait( 1, &handle, WaitAny, alertable, timeout )) != STATUS_NOT_IMPLEMENTED) + goto out; Same as in NtWaitForMultipleObjects(), I don't think a label and goto are needed here, just return STATUS_INVALID_HANDLE or duplicate TRACE() before that (that will be the same two lines).
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/9305#note_120174