On Mar 10, 2011, at 4:20 PM, Ken Thomases wrote:
I doubt Alexandre would accept reworking wineserver around CFRunLoop, but I can think of several alternatives:
Have the wineserver spin off a secondary thread to run the CFRunLoop and then communicate to the main thread via a file descriptor. I think, though, that keeping the wineserver single-threaded is important, too.
Do this in Wine's userland, like in a service.
Do this in a non-Wine process spun off from the wineserver for the sole purpose of bridging the notifications from a CFRunLoop/Mach port-based mechanism to a file descriptor.
4) Use kqueue directly, with its vnode filter. It would entail opening every directory in a hierarchy, which might be deemed prohibitive.
-Ken