Description
Our product (RDBMS Linter ) does not work on ReactOS (tested on r66828). We found the cause of the problem: ReactOS incorrectly reads data from the mailslot in synchronous mode.
Steps to reproduce:
1. Create a mailslot with parameter lReadTimeout = MAILSLOT_WAIT_FOREVER:
| hMailslotClient=CreateMailslot(LMS, 0L, MAILSLOT_WAIT_FOREVER, | 
| (LPSECURITY_ATTRIBUTES) NULL); | 
2. Attempt reading from an empty (without messages) slot:
| ReadFile(hMailslotClient, lpszBuffer, LENMSG, &cbRead, NULL); | 
3. Function ReadFile() returns an error (with code ERROR_SEM_TIMEOUT) immediately, but it must wait message "forever".
Full example available here:
https://github.com/pechenkin/mailslotBug/blob/master/mailslotBug.c