X-Git-Url: https://git.llucax.com/software/libev.git/blobdiff_plain/a04347e5cbe92a5f99231dcdb3d7d0f474bad401..c9877299894353b8aa7442192b15991de9d4767d:/ev.pod?ds=inline diff --git a/ev.pod b/ev.pod index c162b21..f26f84b 100644 --- a/ev.pod +++ b/ev.pod @@ -58,7 +58,9 @@ library in any way. =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 @@ more generic mechanism. 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 @@ level-triggering because you keep receiving events as long as the 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 @@ required if you know what you are doing). 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 @@ Feed an event as if the given signal occured (loop must be the default loop!). =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