Fix configure to enable warnings and fix most of them.
Clear memory allocated by ralloc().
This also fixes bug that timer->recurrent was not clearedin tm_new() and unexpected recurrence of startup timerin BGP confused state machine and caused crash.
Fixes nasty bug in event processing.
WALK_LIST_DELSAFE (in ev_run_list) is not safe with regardto deletion of next node. When some events are rescheduledduring event execution, it may lead to deletion of nextnode and some events are skipped. Such skipped nodes remain...
Fixes to the progdoc.
Documented sockets, events and timers.
Event handlers no longer return re-queue flag. Instead of using it, justcall ev_schedule() on the same handler which should work perfectly now.
No more problems when events get scheduled during event processing.
ev_run() now returns whether the event has been requeued or not.ev_run_list() now returns number of events which remain in the list.
Events now return a value. If it's non-zero, the event is re-queuedfor processing in next event cycle. This can be used to prevent backgroundactions (hint: user commands) from hogging the CPU for too long time.
Real implementation of protocol state machines. Delayed startup/shutdownshould work now. Initial feeding of protocols by interfaces/routes isdone from the event queue to prevent unwanted recursion.
Grrr, forgot to commit the event routines themselves :|