[Geany-Devel] Ping on Bug #943 - windows build command

Thomas Martitz thomas.martitz at xxxxx
Tue Oct 15 20:02:45 UTC 2013


Am 15.10.2013 19:05, schrieb Dimitar Zhekov:
> The last time FiF-ed, glib did not contain any calls to PeekNamedPipe
> or SetNamedPipeHandleState. I am not aware of any way to implement
> async anonymous pipe I/O under Windows without these, and see no
> reason to check the various glib functions one by one. (Don't be
> fooled by "Named", these work for anonymous pipes, and in fact the
> win~1 named pipes don't need them as they support event based I/O).

Speaking of PeekNamedPipe...

A few months ago I contributed a fully working win32 poll() 
implementation to PulseAudio (based on gnulib). Because pacat could not 
read from a process that outputs an audio data stream to stdout, and 
this case did not work with their poll() function (it really only 
handled sockets properly). Anyway, the poll() I provided handles pipes 
and console stdin/stdout as well. You can find it here: 
http://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/pulsecore/poll-win32.c

I remember I looked how glib implements poll() on Windows (because 
pulseaudio still failed when it used its glib-mainloop plugin) and it 
also didn't have a proper implementation. I think glib uses poll() for 
GIO stuff and based on my findings I would expect that glib does poorly 
with GIO on win32 pipes.

Perhaps it would be worthwhile to get that poll() implementation into glib?

Best regards.


More information about the Devel mailing list