http://bugs.winehq.org/show_bug.cgi?id=17195
--- Comment #52 from Luke Kenneth Casson Leighton lkcl@lkcl.net 2011-12-19 14:05:56 CST ---
There's no reason to make the server multithreaded. All blocking calls can be implemented with a non-blocking state machine, including calls to userspace, that BTW the server already supports.
i'm aware that it's a non-blocking state machine, alexandre. that's absolutely required, and it is good that it is a non-blocking state machine, alexandre.
however, unfortunately, in order to get a proper implementation of NamedPipes, it is necessary to use blocking calls on sockets.
that is simply and unavoidable a fact. there's no point in trying to deny this fact. it is simply a fact.
the only POSIX system call that can be used - period - is a blocking call on a socket.
fact.
now.
how, exactly, when there is only one thread / process in wineserver, which, if it is blocked because it is waiting for a response from a socket, will it be possible to service any other operations?
answer: more threads are needed... *in wineserver*.
so, please can i ask you the following:
1) you stop implying that i am a fucking moron. it'll get us nowhere, fast.
2) that you evaluate whether there are *any* other options - i don't believe that there are - any other POSIX functions and/or tricks available.
please feel free to entirely ignore both these requests. i don't have to put up with being told that i don't know what i'm talking about, and you should know by now not to do that.