ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/EV/EV.pm
(Generate patch)

Comparing EV/EV.pm (file contents):
Revision 1.45 by root, Fri Nov 23 03:59:23 2007 UTC vs.
Revision 1.47 by root, Fri Nov 23 13:08:55 2007 UTC

117innermost call to EV::loop return. 117innermost call to EV::loop return.
118 118
119When called with an argument of EV::UNLOOP_ALL, all calls to EV::loop will return as 119When called with an argument of EV::UNLOOP_ALL, all calls to EV::loop will return as
120fast as possible. 120fast as possible.
121 121
122=item EV::once $fh_or_undef, $events, $timeout, $cb->($events)
123
124This function rolls together an I/O and a timer watcher for a single
125one-shot event without the need for managing a watcher object.
126
127If C<$fh_or_undef> is a filehandle or file descriptor, then C<$events>
128must be a bitset containing either C<EV::READ>, C<EV::WRITE> or C<EV::READ
129| EV::WRITE>, indicating the type of I/O event you want to wait for. If
130you do not want to wait for some I/O event, specify C<undef> for
131C<$fh_or_undef> and C<0> for C<$events>).
132
133If timeout is C<undef> or negative, then there will be no
134timeout. Otherwise a EV::timer with this value will be started.
135
136When an error occurs or either the timeout or I/O watcher triggers, then
137the callback will be called with the received event set (in general
138you can expect it to be a combination of C<EV:ERROR>, C<EV::READ>,
139C<EV::WRITE> and C<EV::TIMEOUT>).
140
141EV::once doesn't return anything: the watchers stay active till either
142of them triggers, then they will be stopped and freed, and the callback
143invoked.
144
122=back 145=back
123 146
124=head2 WATCHER 147=head2 WATCHER
125 148
126A watcher is an object that gets created to record your interest in some 149A watcher is an object that gets created to record your interest in some
530=back 553=back
531 554
532=head1 THREADS 555=head1 THREADS
533 556
534Threads are not supported by this module in any way. Perl pseudo-threads 557Threads are not supported by this module in any way. Perl pseudo-threads
535is evil stuff and must die. 558is evil stuff and must die. As soon as Perl gains real threads I will work
559on thread support for it.
560
561=head1 FORK
562
563Most of the "improved" event delivering mechanisms of modern operating
564systems have quite a few problems with fork(2) (to put it bluntly: it is
565not supported and usually destructive). Libev makes it possible to work
566around this by having a function that recreates the kernel state after
567fork in the child.
568
569On non-win32 platforms, this module requires the pthread_atfork
570functionality to do this automatically for you. This function is quite
571buggy on most BSDs, though, so YMMV. The overhead for this is quite
572negligible, because everything the function currently does is set a flag
573that is checked only when the event loop gets used the next time, so when
574you do fork but not use EV, the overhead is minimal.
575
576On win32, there is no notion of fork so all this doesn't apply, of course.
536 577
537=cut 578=cut
538 579
539our $DIED = sub { 580our $DIED = sub {
540 warn "EV: error in callback (ignoring): $@"; 581 warn "EV: error in callback (ignoring): $@";

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines