I think I forgot to forward this to the list. I didn't find time to look into it myself.
---------- Forwarded message --------- From: Dieter Bürßner <die...@buerssner.net> Date: Thu, Nov 29, 2018, 2:23 AM Subject: Small Comment to Winboard Source Code To: <t...@tim-mann.org> Hi Tim, my name is Dieter Bürßner, you might know me from about 15 or more years ago, when I developed the Winboard engine Yace. Well, I lost somewhat contact to computer chess. For some totally unrelated private programming idea, I want to use pipes in Windows for interprocess communication. I remembered Winboard and had a look at the source code, where I found, how you have implemented this – and this was indeed helpful. However, your use of asynchronous IO to the pipe stroke my eyes. Maybe I have not understood your code well, or the Microsoft documentation. At MS, I read at https://docs.microsoft.com/en-us/windows/desktop/ipc/anonymous-pipe-operations <<< Asynchronous (overlapped) read and write operations are not supported by anonymous pipes. This means that you cannot use the *ReadFileEx* <https://msdn.microsoft.com/library/windows/desktop/aa365468> and *WriteFileEx* <https://msdn.microsoft.com/library/windows/desktop/aa365748> functions with anonymous pipes. In addition, the *lpOverlapped* parameter of *ReadFile* <https://msdn.microsoft.com/library/windows/desktop/aa365467> and *WriteFile* <https://msdn.microsoft.com/library/windows/desktop/aa365747> is ignored when these functions are used with anonymous pipes. >>> In winboard.c, functions DoReadFile and DoWriteFile use OVERLAPPED. Kind regards, Dieter