--- libev/ev.pod 2007/11/12 18:36:42 1.22 +++ libev/ev.pod 2007/11/13 03:11:57 1.26 @@ -58,7 +58,9 @@ =item ev_tstamp ev_time () -Returns the current time as libev would use it. +Returns the current time as libev would use it. Please note that the +C function is usually faster and also often returns the timestamp +you actually want to know. =item int ev_version_major () @@ -243,7 +245,7 @@ Can be used to make a call to C return early (but only after it has processed all outstanding events). The C argument must be either -C, which will make the innermost C call return, or +C, which will make the innermost C call return, or C, which will make all nested C calls return. =item ev_ref (loop) @@ -419,7 +421,7 @@ condition persists. Remember you can stop the watcher if you don't want to act on the event and neither want to receive future events). -In general you can register as many read and/or write event watchers oer +In general you can register as many read and/or write event watchers per fd as you want (as long as you don't confuse yourself). Setting all file descriptors to non-blocking mode is also usually a good idea (but not required if you know what you are doing). @@ -427,8 +429,8 @@ You have to be careful with dup'ed file descriptors, though. Some backends (the linux epoll backend is a notable example) cannot handle dup'ed file descriptors correctly if you register interest in two or more fds pointing -to the same file/socket etc. description (that is, they share the same -underlying "file open"). +to the same underlying file/socket etc. description (that is, they share +the same underlying "file open"). If you must do this, then force the use of a known-to-be-good backend (at the time of this writing, this includes only EVMETHOD_SELECT and @@ -774,7 +776,30 @@ =head1 LIBEVENT EMULATION -TBD. +Libev offers a compatibility emulation layer for libevent. It cannot +emulate the internals of libevent, so here are some usage hints: + +=over 4 + +=item * Use it by including , as usual. + +=item * The following members are fully supported: ev_base, ev_callback, +ev_arg, ev_fd, ev_res, ev_events. + +=item * Avoid using ev_flags and the EVLIST_*-macros, while it is +maintained by libev, it does not work exactly the same way as in libevent (consider +it a private API). + +=item * Priorities are not currently supported. Initialising priorities +will fail and all watchers will have the same priority, even though there +is an ev_pri field. + +=item * Other members are not supported. + +=item * The libev emulation is I ABI compatible to libevent, you need +to use the libev header file and library. + +=back =head1 C++ SUPPORT