… | |
… | |
362 | this "current" time will differ substantially from the real time, which |
362 | this "current" time will differ substantially from the real time, which |
363 | might affect timers and time-outs. |
363 | might affect timers and time-outs. |
364 | |
364 | |
365 | When this is the case, you can call this method, which will update the |
365 | When this is the case, you can call this method, which will update the |
366 | event loop's idea of "current time". |
366 | event loop's idea of "current time". |
|
|
367 | |
|
|
368 | A typical example would be a script in a web server (e.g. C<mod_perl>) - |
|
|
369 | when mod_perl executes the script, then the event loop will have the wrong |
|
|
370 | idea about the "current time" (being potentially far in the past, when the |
|
|
371 | script ran the last time). In that case you should arrange a call to C<< |
|
|
372 | AnyEvent->now_update >> each time the web server process wakes up again |
|
|
373 | (e.g. at the start of your script, or in a handler). |
367 | |
374 | |
368 | Note that updating the time I<might> cause some events to be handled. |
375 | Note that updating the time I<might> cause some events to be handled. |
369 | |
376 | |
370 | =back |
377 | =back |
371 | |
378 | |
… | |
… | |
1116 | |
1123 | |
1117 | BEGIN { AnyEvent::common_sense } |
1124 | BEGIN { AnyEvent::common_sense } |
1118 | |
1125 | |
1119 | use Carp (); |
1126 | use Carp (); |
1120 | |
1127 | |
1121 | our $VERSION = '5.12'; |
1128 | our $VERSION = '5.21'; |
1122 | our $MODEL; |
1129 | our $MODEL; |
1123 | |
1130 | |
1124 | our $AUTOLOAD; |
1131 | our $AUTOLOAD; |
1125 | our @ISA; |
1132 | our @ISA; |
1126 | |
1133 | |
1127 | our @REGISTRY; |
1134 | our @REGISTRY; |
1128 | |
|
|
1129 | our $WIN32; |
|
|
1130 | |
1135 | |
1131 | our $VERBOSE; |
1136 | our $VERBOSE; |
1132 | |
1137 | |
1133 | BEGIN { |
1138 | BEGIN { |
1134 | eval "sub WIN32(){ " . (($^O =~ /mswin32/i)*1) ." }"; |
1139 | eval "sub WIN32(){ " . (($^O =~ /mswin32/i)*1) ." }"; |
… | |
… | |
1386 | our ($SIG_COUNT, $SIG_TW); |
1391 | our ($SIG_COUNT, $SIG_TW); |
1387 | |
1392 | |
1388 | sub _signal_exec { |
1393 | sub _signal_exec { |
1389 | $HAVE_ASYNC_INTERRUPT |
1394 | $HAVE_ASYNC_INTERRUPT |
1390 | ? $SIGPIPE_R->drain |
1395 | ? $SIGPIPE_R->drain |
1391 | : sysread $SIGPIPE_R, my $dummy, 9; |
1396 | : sysread $SIGPIPE_R, (my $dummy), 9; |
1392 | |
1397 | |
1393 | while (%SIG_EV) { |
1398 | while (%SIG_EV) { |
1394 | for (keys %SIG_EV) { |
1399 | for (keys %SIG_EV) { |
1395 | delete $SIG_EV{$_}; |
1400 | delete $SIG_EV{$_}; |
1396 | $_->() for values %{ $SIG_CB{$_} || {} }; |
1401 | $_->() for values %{ $SIG_CB{$_} || {} }; |