Tue Oct 16 12:22:00 GMT 2012
I'm on the list in digest mode, so I don't know how to thread this response
Thanks to all who have taken time to respond so far.
I am already using POSIX shared memory in the application I am trying to port
to Cygwin. The fifos are simply used to synchronize access to the shared
memory and to provide a convenient select()/poll()'able interface to multiplex
things. The only thing presented to the fifo is an integer index value. The
actual message data itself is in shared memory.
In a previous posting a few weeks back I presented some test code which
illustrated the performance deficit in the current Cygwin fifo implementation (2
orders of magnitude slower than Linux on same hardware). It was this
performance issue that led me on a search for an alternative synchronization
mechanism that still allowed for multiplexing via select()/poll(). As far
as I can tell neither POSIX semaphores, POSIX message queues or sigwaitinfo()
can meet this multiplex criteria. However, the combination of real time
queueable signals and signalfd (or eventfd) could.
As I understand things Cygwin supports real time signals, but doesn't yet
support signalfd (or eventfd) functionality.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin