summaryrefslogtreecommitdiff
path: root/ev.pod
diff options
context:
space:
mode:
authorroot <root>2008-06-01 01:13:59 +0000
committerroot <root>2008-06-01 01:13:59 +0000
commit1fa403c16d9262ee9541bd969f372d00bd62b3e8 (patch)
tree5099245536d2eb1b92930d22d7e3b7d528eb2d67 /ev.pod
parentf52532402e847e64f95de16d55057ccb4533b7ba (diff)
*** empty log message ***
Diffstat (limited to 'ev.pod')
-rw-r--r--ev.pod9
1 files changed, 9 insertions, 0 deletions
diff --git a/ev.pod b/ev.pod
index 670f7ce..36c21e1 100644
--- a/ev.pod
+++ b/ev.pod
@@ -3376,6 +3376,15 @@ additional extensions:
=over 4
+=item C<void (*)(ev_watcher_type *, int revents)> must have compatible
+calling conventions regardless of C<ev_watcher_type *>.
+
+Libev assumes not only that all watcher pointers have the same internal
+structure (guaranteed by POSIX but not by ISO C for example), but it also
+assumes that the same (machine) code can be used to call any watcher
+callback: The watcher callbacks have different type signatures, but libev
+calls them using an C<ev_watcher *> internally.
+
=item C<sig_atomic_t volatile> must be thread-atomic as well
The type C<sig_atomic_t volatile> (or whatever is defined as