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

Comparing EV/EV.pm (file contents):
Revision 1.154 by root, Fri Dec 21 07:06:51 2018 UTC vs.
Revision 1.155 by root, Sun May 12 21:58:31 2019 UTC

248 248
249=item $loop->now_update 249=item $loop->now_update
250 250
251Establishes the current time by querying the kernel, updating the time 251Establishes the current time by querying the kernel, updating the time
252returned by C<EV::now> in the progress. This is a costly operation and 252returned by C<EV::now> in the progress. This is a costly operation and
253is usually done automatically within C<EV::loop>. 253is usually done automatically within C<EV::run>.
254 254
255This function is rarely useful, but when some event callback runs for a 255This function is rarely useful, but when some event callback runs for a
256very long time without entering the event loop, updating libev's idea of 256very long time without entering the event loop, updating libev's idea of
257the current time is a good idea. 257the current time is a good idea.
258 258
313=item EV::break [$how] 313=item EV::break [$how]
314 314
315=item $loop->break ([$how]) 315=item $loop->break ([$how])
316 316
317When called with no arguments or an argument of EV::BREAK_ONE, makes the 317When called with no arguments or an argument of EV::BREAK_ONE, makes the
318innermost call to EV::loop return. 318innermost call to EV::run return.
319 319
320When called with an argument of EV::BREAK_ALL, all calls to EV::loop will 320When called with an argument of EV::BREAK_ALL, all calls to EV::run will
321return as fast as possible. 321return as fast as possible.
322 322
323When called with an argument of EV::BREAK_CANCEL, any pending break will 323When called with an argument of EV::BREAK_CANCEL, any pending break will
324be cancelled. 324be cancelled.
325 325
507returns its C<$revents> bitset (as if its callback was invoked). If the 507returns its C<$revents> bitset (as if its callback was invoked). If the
508watcher isn't pending it does nothing and returns C<0>. 508watcher isn't pending it does nothing and returns C<0>.
509 509
510=item $previous_state = $w->keepalive ($bool) 510=item $previous_state = $w->keepalive ($bool)
511 511
512Normally, C<EV::loop> will return when there are no active watchers 512Normally, C<EV::run> will return when there are no active watchers
513(which is a "deadlock" because no progress can be made anymore). This is 513(which is a "deadlock" because no progress can be made anymore). This is
514convenient because it allows you to start your watchers (and your jobs), 514convenient because it allows you to start your watchers (and your jobs),
515call C<EV::loop> once and when it returns you know that all your jobs are 515call C<EV::run> once and when it returns you know that all your jobs are
516finished (or they forgot to register some watchers for their task :). 516finished (or they forgot to register some watchers for their task :).
517 517
518Sometimes, however, this gets in your way, for example when the module 518Sometimes, however, this gets in your way, for example when the module
519that calls C<EV::loop> (usually the main program) is not the same module 519that calls C<EV::run> (usually the main program) is not the same module
520as a long-living watcher (for example a DNS client module written by 520as a long-living watcher (for example a DNS client module written by
521somebody else even). Then you might want any outstanding requests to be 521somebody else even). Then you might want any outstanding requests to be
522handled, but you would not want to keep C<EV::loop> from returning just 522handled, but you would not want to keep C<EV::run> from returning just
523because you happen to have this long-running UDP port watcher. 523because you happen to have this long-running UDP port watcher.
524 524
525In this case you can clear the keepalive status, which means that even 525In this case you can clear the keepalive status, which means that even
526though your watcher is active, it won't keep C<EV::loop> from returning. 526though your watcher is active, it won't keep C<EV::run> from returning.
527 527
528The initial value for keepalive is true (enabled), and you can change it 528The initial value for keepalive is true (enabled), and you can change it
529any time. 529any time.
530 530
531Example: Register an I/O watcher for some UDP socket but do not keep the 531Example: Register an I/O watcher for some UDP socket but do not keep the

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines