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

Comparing EV/EV.pm (file contents):
Revision 1.129 by root, Thu Oct 21 15:13:42 2010 UTC vs.
Revision 1.135 by root, Mon Dec 12 16:32:24 2011 UTC

47 my ($w, $revents) = @_; 47 my ($w, $revents) = @_;
48 warn $w->path, " has changed somehow.\n"; 48 warn $w->path, " has changed somehow.\n";
49 }; 49 };
50 50
51 # MAINLOOP 51 # MAINLOOP
52 EV::loop; # loop until EV::unloop is called or all watchers stop 52 EV::run; # loop until EV::unloop is called or all watchers stop
53 EV::loop EV::LOOP_ONESHOT; # block until at least one event could be handled 53 EV::run EV::RUN_ONCE; # block until at least one event could be handled
54 EV::loop EV::LOOP_NONBLOCK; # try to handle same events, but do not block 54 EV::run EV::RUN_NOWAIT; # try to handle same events, but do not block
55 55
56=head1 BEFORE YOU START USING THIS MODULE 56=head1 BEFORE YOU START USING THIS MODULE
57 57
58If you only need timer, I/O, signal, child and idle watchers and not the 58If you only need timer, I/O, signal, child and idle watchers and not the
59advanced functionality of this module, consider using L<AnyEvent> instead, 59advanced functionality of this module, consider using L<AnyEvent> instead,
119package EV; 119package EV;
120 120
121use common::sense; 121use common::sense;
122 122
123BEGIN { 123BEGIN {
124 our $VERSION = '4.00'; 124 our $VERSION = '4.03';
125 use XSLoader; 125 use XSLoader;
126 XSLoader::load "EV", $VERSION; 126 XSLoader::load "EV", $VERSION;
127} 127}
128 128
129@EV::IO::ISA = 129@EV::IO::ISA =
186Must be called after a fork in the child, before entering or continuing 186Must be called after a fork in the child, before entering or continuing
187the event loop. An alternative is to use C<EV::FLAG_FORKCHECK> which calls 187the event loop. An alternative is to use C<EV::FLAG_FORKCHECK> which calls
188this function automatically, at some performance loss (refer to the libev 188this function automatically, at some performance loss (refer to the libev
189documentation). 189documentation).
190 190
191=item $loop->loop_verify 191=item $loop->verify
192 192
193Calls C<ev_verify> to make internal consistency checks (for debugging 193Calls C<ev_verify> to make internal consistency checks (for debugging
194libev) and abort the program if any data structures were found to be 194libev) and abort the program if any data structures were found to be
195corrupted. 195corrupted.
196 196
290=item $backend = $loop->backend 290=item $backend = $loop->backend
291 291
292Returns an integer describing the backend used by libev (EV::BACKEND_SELECT 292Returns an integer describing the backend used by libev (EV::BACKEND_SELECT
293or EV::BACKEND_EPOLL). 293or EV::BACKEND_EPOLL).
294 294
295=item EV::loop [$flags] 295=item EV::run [$flags]
296 296
297=item $loop->loop ([$flags]) 297=item $loop->run ([$flags])
298 298
299Begin checking for events and calling callbacks. It returns when a 299Begin checking for events and calling callbacks. It returns when a
300callback calls EV::unloop. 300callback calls EV::unloop.
301 301
302The $flags argument can be one of the following: 302The $flags argument can be one of the following:
303 303
304 0 as above 304 0 as above
305 EV::LOOP_ONESHOT block at most once (wait, but do not loop) 305 EV::RUN_ONCE block at most once (wait, but do not loop)
306 EV::LOOP_NONBLOCK do not block at all (fetch/handle events but do not wait) 306 EV::RUN_NOWAIT do not block at all (fetch/handle events but do not wait)
307 307
308=item EV::unloop [$how] 308=item EV::break [$how]
309 309
310=item $loop->unloop ([$how]) 310=item $loop->break ([$how])
311 311
312When called with no arguments or an argument of EV::UNLOOP_ONE, makes the 312When called with no arguments or an argument of EV::BREAK_ONE, makes the
313innermost call to EV::loop return. 313innermost call to EV::loop return.
314 314
315When called with an argument of EV::UNLOOP_ALL, all calls to EV::loop will return as 315When called with an argument of EV::BREAK_ALL, all calls to EV::loop will
316fast as possible. 316return as fast as possible.
317 317
318=item $count = EV::loop_count 318When called with an argument of EV::BREAK_CANCEL, any pending break will
319be cancelled.
319 320
321=item $count = EV::iteration
322
320=item $count = $loop->loop_count 323=item $count = $loop->iteration
321 324
322Return the number of times the event loop has polled for new 325Return the number of times the event loop has polled for new
323events. Sometimes useful as a generation counter. 326events. Sometimes useful as a generation counter.
324 327
325=item EV::once $fh_or_undef, $events, $timeout, $cb->($revents) 328=item EV::once $fh_or_undef, $events, $timeout, $cb->($revents)
345 348
346EV::once doesn't return anything: the watchers stay active till either 349EV::once doesn't return anything: the watchers stay active till either
347of them triggers, then they will be stopped and freed, and the callback 350of them triggers, then they will be stopped and freed, and the callback
348invoked. 351invoked.
349 352
350=item EV::feed_fd_event ($fd, $revents) 353=item EV::feed_fd_event $fd, $revents
351 354
352=item $loop->feed_fd_event ($fd, $revents) 355=item $loop->feed_fd_event ($fd, $revents)
353 356
354Feed an event on a file descriptor into EV. EV will react to this call as 357Feed an event on a file descriptor into EV. EV will react to this call as
355if the readyness notifications specified by C<$revents> (a combination of 358if the readyness notifications specified by C<$revents> (a combination of
356C<EV::READ> and C<EV::WRITE>) happened on the file descriptor C<$fd>. 359C<EV::READ> and C<EV::WRITE>) happened on the file descriptor C<$fd>.
357 360
358=item EV::feed_signal_event ($signal) 361=item EV::feed_signal_event $signal
359 362
360Feed a signal event into EV. EV will react to this call as if the signal 363Feed a signal event into the default loop. EV will react to this call as
361specified by C<$signal> had occured. 364if the signal specified by C<$signal> had occured.
365
366=item EV::feed_signal $signal
367
368Feed a signal event into EV - unlike C<EV::feed_signal_event>, this works
369regardless of which loop has registered the signal, and is mainly useful
370fro custom signal implementations.
362 371
363=item EV::set_io_collect_interval $time 372=item EV::set_io_collect_interval $time
364 373
365=item $loop->set_io_collect_interval ($time) 374=item $loop->set_io_collect_interval ($time)
366 375
1188 1197
11891; 11981;
1190 1199
1191=head1 SEE ALSO 1200=head1 SEE ALSO
1192 1201
1202L<EV::MakeMaker> - MakeMaker interface to XS API, L<EV::ADNS>
1193L<EV::ADNS> (asynchronous DNS), L<Glib::EV> (makes Glib/Gtk2 use EV as 1203(asynchronous DNS), L<Glib::EV> (makes Glib/Gtk2 use EV as event
1194event loop), L<EV::Glib> (embed Glib into EV), L<Coro::EV> (efficient 1204loop), L<EV::Glib> (embed Glib into EV), L<Coro::EV> (efficient thread
1195coroutines with EV), L<Net::SNMP::EV> (asynchronous SNMP), L<AnyEvent> for 1205integration), L<Net::SNMP::EV> (asynchronous SNMP), L<AnyEvent> for
1196event-loop agnostic and portable event driven programming. 1206event-loop agnostic and portable event driven programming.
1197 1207
1198=head1 AUTHOR 1208=head1 AUTHOR
1199 1209
1200 Marc Lehmann <schmorp@schmorp.de> 1210 Marc Lehmann <schmorp@schmorp.de>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines