ivykis 0.9 (Default branch)


 
Thread Tools Search this Thread
Special Forums News, Links, Events and Announcements Software Releases - RSS News ivykis 0.9 (Default branch)
# 1  
Old 01-03-2009
ivykis 0.9 (Default branch)

ivykis is a library for asynchronous I/O readiness notification. It is a thin, portable wrapper around OS-provided mechanisms such as /dev/poll, kqueue(2), poll(2), select(2), and epoll_create(2). ivykis was mainly designed for building high-performance network servers, but can be used as building block for any kind of event-driven application that uses poll(2)able file descriptors as its inputs. License: GNU Lesser General Public License (LGPL) Changes:
This release removes support for a couple of poll methods that are now considered obsolete such as /dev/epoll, introduces a stable library ABI, and prepares the library for switching over to fully level-triggered operation. Image

Image

More...
Login or Register to Ask a Question

Previous Thread | Next Thread
Login or Register to Ask a Question
iv_event(3)						    ivykis programmer's manual						       iv_event(3)

NAME
IV_EVENT_INIT, iv_event_register, iv_event_unregister, iv_event_post - manage ivykis objects for event notification SYNOPSIS
#include <iv_event.h> struct iv_event { void *cookie; void (*handler)(void *); }; int IV_EVENT_INIT(struct iv_event *this); int iv_event_register(struct iv_event *this); void iv_event_unregister(struct iv_event *this); void iv_event_post(struct iv_event *this); DESCRIPTION
iv_event provides a way for delivering events to ivykis(3) recipients across thread boundaries. The intended event recipient calls IV_EVENT_INIT on a struct iv_event object, fills in ->cookie and ->handler, and then calls iv_event_reg- ister on the object. To generate an event, call iv_event_post on the previously initialized struct iv_event object. This will cause the callback specified by ->handler to be called in the thread that the struct iv_event object was registered in, with ->cookie as its sole argument. To deinitialize a struct iv_event object, call iv_event_unregister from the same thread that iv_event_register was called from on that object. It is permitted to unregister a struct iv_event object from any ivykis callback function in the thread it was registered in, including from a callback function triggered by this object, and it is permitted to free the memory corresponding to an unregistered object from its own callback function. iv_event_post can be called from the same thread that iv_event_register was called from, or from a different thread within the same process, but can not be called from a different process, and can not be called from signal handlers. If you need this functionality, look at iv_event_raw(3). Internally, iv_event is implemented as a wrapper around iv_event_raw(3), and multiplexes multiple struct iv_event objects over per-thread struct iv_event_raw objects, to save file descriptors and kernel resources. SEE ALSO
ivykis(3), iv_event_raw(3) ivykis 2010-09-03 iv_event(3)