… | |
… | |
195 | |
195 | |
196 | EV::now_update |
196 | EV::now_update |
197 | $loop->now_update |
197 | $loop->now_update |
198 | Establishes the current time by querying the kernel, updating the |
198 | Establishes the current time by querying the kernel, updating the |
199 | time returned by "EV::now" in the progress. This is a costly |
199 | time returned by "EV::now" in the progress. This is a costly |
200 | operation and is usually done automatically within "EV::loop". |
200 | operation and is usually done automatically within "EV::run". |
201 | |
201 | |
202 | This function is rarely useful, but when some event callback runs |
202 | This function is rarely useful, but when some event callback runs |
203 | for a very long time without entering the event loop, updating |
203 | for a very long time without entering the event loop, updating |
204 | libev's idea of the current time is a good idea. |
204 | libev's idea of the current time is a good idea. |
205 | |
205 | |
… | |
… | |
251 | EV::RUN_NOWAIT do not block at all (fetch/handle events but do not wait) |
251 | EV::RUN_NOWAIT do not block at all (fetch/handle events but do not wait) |
252 | |
252 | |
253 | EV::break [$how] |
253 | EV::break [$how] |
254 | $loop->break ([$how]) |
254 | $loop->break ([$how]) |
255 | When called with no arguments or an argument of EV::BREAK_ONE, makes |
255 | When called with no arguments or an argument of EV::BREAK_ONE, makes |
256 | the innermost call to EV::loop return. |
256 | the innermost call to EV::run return. |
257 | |
257 | |
258 | When called with an argument of EV::BREAK_ALL, all calls to EV::loop |
258 | When called with an argument of EV::BREAK_ALL, all calls to EV::run |
259 | will return as fast as possible. |
259 | will return as fast as possible. |
260 | |
260 | |
261 | When called with an argument of EV::BREAK_CANCEL, any pending break |
261 | When called with an argument of EV::BREAK_CANCEL, any pending break |
262 | will be cancelled. |
262 | will be cancelled. |
263 | |
263 | |
… | |
… | |
414 | If the watcher is pending, this function clears its pending status |
414 | If the watcher is pending, this function clears its pending status |
415 | and returns its $revents bitset (as if its callback was invoked). If |
415 | and returns its $revents bitset (as if its callback was invoked). If |
416 | the watcher isn't pending it does nothing and returns 0. |
416 | the watcher isn't pending it does nothing and returns 0. |
417 | |
417 | |
418 | $previous_state = $w->keepalive ($bool) |
418 | $previous_state = $w->keepalive ($bool) |
419 | Normally, "EV::loop" will return when there are no active watchers |
419 | Normally, "EV::run" will return when there are no active watchers |
420 | (which is a "deadlock" because no progress can be made anymore). |
420 | (which is a "deadlock" because no progress can be made anymore). |
421 | This is convenient because it allows you to start your watchers (and |
421 | This is convenient because it allows you to start your watchers (and |
422 | your jobs), call "EV::loop" once and when it returns you know that |
422 | your jobs), call "EV::run" once and when it returns you know that |
423 | all your jobs are finished (or they forgot to register some watchers |
423 | all your jobs are finished (or they forgot to register some watchers |
424 | for their task :). |
424 | for their task :). |
425 | |
425 | |
426 | Sometimes, however, this gets in your way, for example when the |
426 | Sometimes, however, this gets in your way, for example when the |
427 | module that calls "EV::loop" (usually the main program) is not the |
427 | module that calls "EV::run" (usually the main program) is not the |
428 | same module as a long-living watcher (for example a DNS client |
428 | same module as a long-living watcher (for example a DNS client |
429 | module written by somebody else even). Then you might want any |
429 | module written by somebody else even). Then you might want any |
430 | outstanding requests to be handled, but you would not want to keep |
430 | outstanding requests to be handled, but you would not want to keep |
431 | "EV::loop" from returning just because you happen to have this |
431 | "EV::run" from returning just because you happen to have this |
432 | long-running UDP port watcher. |
432 | long-running UDP port watcher. |
433 | |
433 | |
434 | In this case you can clear the keepalive status, which means that |
434 | In this case you can clear the keepalive status, which means that |
435 | even though your watcher is active, it won't keep "EV::loop" from |
435 | even though your watcher is active, it won't keep "EV::run" from |
436 | returning. |
436 | returning. |
437 | |
437 | |
438 | The initial value for keepalive is true (enabled), and you can |
438 | The initial value for keepalive is true (enabled), and you can |
439 | change it any time. |
439 | change it any time. |
440 | |
440 | |