I've been thinking about this as well. My scope hasn't been universal, as
for the moment my focus is on the built-on-darwin OSen.
In my case, I think it's pretty easy to allow the native run loop handle
fd events; it's just a matter of re-registering the kqueue with the
runloop after it triggers an event.
I'm less sure about the other aspects of the backend, such as timed
events. The run loop has a timer facility, which I think can be adapted to
handle call_outs in a pretty straightforward manner. What else do I need
to think about if a call to Pike.Backend->`()() is no longer being made?
Bill
Then it's another matter if we somehow can make it easier to do the
reverse, i.e. to hook in the pike backend in a foreign one. That'd
mean a way to query for all the pike fd's, including the wakeup pipe,
I guess. Or if it's possible to solve a bit more elegantly when
something like kqueue is used.