ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libev/ev.pod
(Generate patch)

Comparing libev/ev.pod (file contents):
Revision 1.316 by root, Fri Oct 22 09:34:01 2010 UTC vs.
Revision 1.320 by root, Fri Oct 22 10:48:54 2010 UTC

124this argument. 124this argument.
125 125
126=head2 TIME REPRESENTATION 126=head2 TIME REPRESENTATION
127 127
128Libev represents time as a single floating point number, representing 128Libev represents time as a single floating point number, representing
129the (fractional) number of seconds since the (POSIX) epoch (in practise 129the (fractional) number of seconds since the (POSIX) epoch (in practice
130somewhere near the beginning of 1970, details are complicated, don't 130somewhere near the beginning of 1970, details are complicated, don't
131ask). This type is called C<ev_tstamp>, which is what you should use 131ask). This type is called C<ev_tstamp>, which is what you should use
132too. It usually aliases to the C<double> type in C. When you need to do 132too. It usually aliases to the C<double> type in C. When you need to do
133any calculations on it, you should treat it as some floating point value. 133any calculations on it, you should treat it as some floating point value.
134 134
165 165
166=item ev_tstamp ev_time () 166=item ev_tstamp ev_time ()
167 167
168Returns the current time as libev would use it. Please note that the 168Returns the current time as libev would use it. Please note that the
169C<ev_now> function is usually faster and also often returns the timestamp 169C<ev_now> function is usually faster and also often returns the timestamp
170you actually want to know. 170you actually want to know. Also interetsing is the combination of
171C<ev_update_now> and C<ev_now>.
171 172
172=item ev_sleep (ev_tstamp interval) 173=item ev_sleep (ev_tstamp interval)
173 174
174Sleep for the given interval: The current thread will be blocked until 175Sleep for the given interval: The current thread will be blocked until
175either it is interrupted or the given time interval has passed. Basically 176either it is interrupted or the given time interval has passed. Basically
192as this indicates an incompatible change. Minor versions are usually 193as this indicates an incompatible change. Minor versions are usually
193compatible to older versions, so a larger minor version alone is usually 194compatible to older versions, so a larger minor version alone is usually
194not a problem. 195not a problem.
195 196
196Example: Make sure we haven't accidentally been linked against the wrong 197Example: Make sure we haven't accidentally been linked against the wrong
197version (note, however, that this will not detect ABI mismatches :). 198version (note, however, that this will not detect other ABI mismatches,
199such as LFS or reentrancy).
198 200
199 assert (("libev version mismatch", 201 assert (("libev version mismatch",
200 ev_version_major () == EV_VERSION_MAJOR 202 ev_version_major () == EV_VERSION_MAJOR
201 && ev_version_minor () >= EV_VERSION_MINOR)); 203 && ev_version_minor () >= EV_VERSION_MINOR));
202 204
213 assert (("sorry, no epoll, no sex", 215 assert (("sorry, no epoll, no sex",
214 ev_supported_backends () & EVBACKEND_EPOLL)); 216 ev_supported_backends () & EVBACKEND_EPOLL));
215 217
216=item unsigned int ev_recommended_backends () 218=item unsigned int ev_recommended_backends ()
217 219
218Return the set of all backends compiled into this binary of libev and also 220Return the set of all backends compiled into this binary of libev and
219recommended for this platform. This set is often smaller than the one 221also recommended for this platform, meaning it will work for most file
222descriptor types. This set is often smaller than the one returned by
220returned by C<ev_supported_backends>, as for example kqueue is broken on 223C<ev_supported_backends>, as for example kqueue is broken on most BSDs
221most BSDs and will not be auto-detected unless you explicitly request it 224and will not be auto-detected unless you explicitly request it (assuming
222(assuming you know what you are doing). This is the set of backends that 225you know what you are doing). This is the set of backends that libev will
223libev will probe for if you specify no backends explicitly. 226probe for if you specify no backends explicitly.
224 227
225=item unsigned int ev_embeddable_backends () 228=item unsigned int ev_embeddable_backends ()
226 229
227Returns the set of backends that are embeddable in other event loops. This 230Returns the set of backends that are embeddable in other event loops. This
228is the theoretical, all-platform, value. To find which backends 231value is platform-specific but can include backends not available on the
229might be supported on the current system, you would need to look at 232current system. To find which embeddable backends might be supported on
230C<ev_embeddable_backends () & ev_supported_backends ()>, likewise for 233the current system, you would need to look at C<ev_embeddable_backends ()
231recommended ones. 234& ev_supported_backends ()>, likewise for recommended ones.
232 235
233See the description of C<ev_embed> watchers for more info. 236See the description of C<ev_embed> watchers for more info.
234 237
235=item ev_set_allocator (void *(*cb)(void *ptr, long size)) [NOT REENTRANT] 238=item ev_set_allocator (void *(*cb)(void *ptr, long size)) [NOT REENTRANT]
236 239

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines