https://bugs.winehq.org/show_bug.cgi?id=17195
--- Comment #149 from Luke Kenneth Casson Leighton lkcl@lkcl.net --- hi adam,
i've been investigating alternative options. one of them is posix ipc queues. posix ipc queues have exactly the same semantics (itliterally) as message-mode named pipes. there are however a number of problems with posix ipc queues. firstly, they tend not to have been implemented correctly. secondly, clean-up is a bitch. there is typically no way to *enumerate* the ipc queues despite them being like files! thirdly, the limit is around 8k whereas namedpipe in messagemode is something like a 64k message size limit.
so, using posix ipc queues would be a bit fraught, but technically would be [one of the very few] the correct things to use, even as a means to pass e.g. just the length of the message to be read from the socket. what is nice about posix ipc queues is that they have an equivalent of poll, so you can tell whether there is a message waiting, at least, or, better, use them to block the user process (pending a message), instead of blocking the (single) wineserver process (which you would otherwise have to multi-thread in order to get the correct semantics required, here).
but, first, we have to get jiullard to stop putting pride, anger and hate ahead of technical analysis and decisions. someone else (other than me) basically needs to stand up to him.