[quagga-dev 11565] Re: add possibility to use poll instead of select
paul at jakma.org
Wed Oct 8 11:05:39 BST 2014
On Tue, 8 Apr 2014, David Lamparter wrote:
> Stupidly enough, the thread_* functions are woven into most other things
> like ZAPI & the CLI, making it hard to use libzebra in an outside
> project that uses another mainloop...
Well, GNU Zebra was started in the early 90s. I think it predates most
well-known mainloop libraries! So I don't think it was a bad choice at the
time. I don't think the GNU Zebra event loop is that bad either.
In the near-term the best solution is probably to extend thread.h to allow
it to integrate with other mainloops, if there's demand. E.g.
wrapper/shims to register timers, fds, etc., with other mainloops, and
allow those to manage scheduling and/or shims to take over scheduling from
I had a look at libevent once. Personally I think I suspect it'd be a lot
less work to borrow/reimplement whatever nice stuff it might happen to
have that we lack, than convert Quagga over to it.
It might even be an idea to get back to properly libifying the core
mainloop and attendent bits, given it seems to be recognised we're going
to be using it for at least a while (so which probably means "for a long
while yet"). ;)
Paul Jakma paul at jakma.org @pjakma Key ID: 64A2FF6A
You will be audited by the Internal Revenue Service.
More information about the Quagga-dev