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

Comparing libev/ev.pod (file contents):
Revision 1.164 by root, Sat May 31 23:22:23 2008 UTC vs.
Revision 1.165 by root, Sun Jun 1 01:13:59 2008 UTC

3374In addition to a working ISO-C implementation, libev relies on a few 3374In addition to a working ISO-C implementation, libev relies on a few
3375additional extensions: 3375additional extensions:
3376 3376
3377=over 4 3377=over 4
3378 3378
3379=item C<void (*)(ev_watcher_type *, int revents)> must have compatible
3380calling conventions regardless of C<ev_watcher_type *>.
3381
3382Libev assumes not only that all watcher pointers have the same internal
3383structure (guaranteed by POSIX but not by ISO C for example), but it also
3384assumes that the same (machine) code can be used to call any watcher
3385callback: The watcher callbacks have different type signatures, but libev
3386calls them using an C<ev_watcher *> internally.
3387
3379=item C<sig_atomic_t volatile> must be thread-atomic as well 3388=item C<sig_atomic_t volatile> must be thread-atomic as well
3380 3389
3381The type C<sig_atomic_t volatile> (or whatever is defined as 3390The type C<sig_atomic_t volatile> (or whatever is defined as
3382C<EV_ATOMIC_T>) must be atomic w.r.t. accesses from different 3391C<EV_ATOMIC_T>) must be atomic w.r.t. accesses from different
3383threads. This is not part of the specification for C<sig_atomic_t>, but is 3392threads. This is not part of the specification for C<sig_atomic_t>, but is

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines