Duane Clark wrote:
This is a bit old, from May, but anyhow...
The patch to implement anonymous pipes on top of named pipes: http://www.winehq.com/hypermail/wine-cvs/2003/05/0305.html along with a corresponding bug fix: http://www.winehq.com/hypermail/wine-cvs/2003/06/0123.html causes Xilinx ISE to run really, really slow.
It has a window to which messages are sent via a pipe, and what I see now is that one line comes out every 2/3 of a second or so, as regular as a clock at least by eye. I can revert those two patches, and it goes back to spitting out the messages very fast. Since there are a lot of messages being sent, the current version slows the app down to a crawl.
A bit more info about what is happening, as best as I can tell. It looks like the message window is doing a PeekNamedPipe about every 2/3 of a second; hence the timing that I am seeing.
So the problem appears to be that in the new implementation, the write to the pipe is being blocked on every call, until a read has happened. What should be happening is that the write should only block if the pipe is full. Does that help someone know where to look?