… | |
… | |
354 | |
354 | |
355 | $coro |
355 | $coro |
356 | } |
356 | } |
357 | |
357 | |
358 | sub write_runtime { |
358 | sub write_runtime { |
|
|
359 | my $guard = cf::lock_acquire "write_runtime"; |
|
|
360 | |
359 | my $runtime = cf::localdir . "/runtime"; |
361 | my $runtime = cf::localdir . "/runtime"; |
360 | |
362 | |
361 | my $fh = aio_open "$runtime~", O_WRONLY | O_CREAT, 0644 |
363 | my $fh = aio_open "$runtime~", O_WRONLY | O_CREAT, 0644 |
362 | or return; |
364 | or return; |
363 | |
365 | |
… | |
… | |
2521 | write_runtime |
2523 | write_runtime |
2522 | or warn "ERROR: unable to write runtime file: $!"; |
2524 | or warn "ERROR: unable to write runtime file: $!"; |
2523 | }; |
2525 | }; |
2524 | } |
2526 | } |
2525 | |
2527 | |
2526 | |
|
|
2527 | $WAIT_FOR_TICK->broadcast; |
2528 | $WAIT_FOR_TICK->broadcast; |
2528 | $WAIT_FOR_TICK_ONE->send if $WAIT_FOR_TICK_ONE->awaited; |
2529 | $WAIT_FOR_TICK_ONE->send if $WAIT_FOR_TICK_ONE->awaited; |
2529 | |
2530 | |
2530 | # my $AFTER = Event::time; |
2531 | # my $AFTER = Event::time; |
2531 | # warn $AFTER - $NOW;#d# |
2532 | # warn $AFTER - $NOW;#d# |