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.

  • ... Bill Welliver
    • ... Marcus Agehall (nu med K-m�rkt fastighet och ny elcentral) @ Pike (-) developers forum
    • ... Jonas Walld�n @ Pike developers forum
    • ... Martin Stjernholm, Roxen IS @ Pike developers forum
      • ... H. William Welliver III
      • ... Bill Welliver
        • ... Martin Stjernholm, Roxen IS @ Pike developers forum

Reply via email to