• Martin Mareš's avatar
    Added simple event scheduling system to avoid recursive calling · e8f73195
    Martin Mareš authored
    of various callbacks.
    
    Events are just another resource type objects (thus automatically freed
    and unlinked when the protocol using them shuts down). Each event can
    be linked in at most one event list. For most purposes, just use the
    global event list handled by the following functions:
    
    	ev_schedule	Schedule event to be called at the next event
    			scheduling point. If the event was already
    			scheduled, it's just re-linked to the end of the list.
    	ev_postpone	Postpone an already scheduled event, so that it
    			won't get called. Postponed events can be scheduled
    			again by ev_schedule().
    
    You can also create custom event lists to build your own synchronization
    primitives. Just use:
    
    	ev_init_list	to initialize an event list
    	ev_enqueue	to schedule event on specified event list
    	ev_postpone	works as well for custom lists
    	ev_run_list	to run all events on your custom list
    	ev_run		to run a specific event and dequeue it
    e8f73195
Name
Last commit
Last update
conf Loading commit data...
doc Loading commit data...
filter Loading commit data...
lib Loading commit data...
misc Loading commit data...
nest Loading commit data...
proto Loading commit data...
sysdep Loading commit data...
tools Loading commit data...
.cvsignore Loading commit data...
Makefile Loading commit data...
TODO Loading commit data...
aclocal.m4 Loading commit data...
bird.conf Loading commit data...
configure.in Loading commit data...