diff options
author | Eric Wong <e@80x24.org> | 2016-12-26 05:25:36 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2016-12-26 05:25:36 +0000 |
commit | e36899b149ecb7cc56f88a6078b18b211ac3c793 (patch) | |
tree | da8a6e07234a815b3782f1a659f6dee1122959d1 /lib/PublicInbox/EvCleanup.pm | |
parent | b388dfdd96804f898fbf72baf2a32e0c9f0fb3f1 (diff) | |
parent | 427245acacaf04a882d5524e662075909b96905b (diff) | |
download | public-inbox-e36899b149ecb7cc56f88a6078b18b211ac3c793.tar.gz |
* origin/master: (25 commits) evcleanup: ensure deferred close from timers are handled ASAP httpd/async: improve variable naming githttpbackend: minor cleanups to improve readability githttpbackend: simplify compatibility code githttpbackend: minor readability improvement http: fix clobbering of $null_io linkify: modify argument in place view: do not modify array during iteration view: stop chomping off whitespace at ends of messages view: remove unused parameter search: lookup_mail handles modified DBs doc: various comments on async handling searchthread: simplify API and remove needless OO searchthread: update comment about loop prevention searchmsg: remove ensure_metadata tests: add thread-all testing for benchmarking searchmsg: do not memoize {date} field searchmsg: remove locale-dependency for ->date t/config.t: fix feedmax default wwwtext: link to RFC4685 (Atom Threading) ...
Diffstat (limited to 'lib/PublicInbox/EvCleanup.pm')
-rw-r--r-- | lib/PublicInbox/EvCleanup.pm | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/PublicInbox/EvCleanup.pm b/lib/PublicInbox/EvCleanup.pm index 2b77c617..b9fe843b 100644 --- a/lib/PublicInbox/EvCleanup.pm +++ b/lib/PublicInbox/EvCleanup.pm @@ -30,9 +30,19 @@ sub _run_all ($) { $_->() foreach @$run; } +# ensure Danga::Socket::ToClose fires after timers fire +sub _asap_close () { $asapq->[1] ||= _asap_timer() } + sub _run_asap () { _run_all($asapq) } -sub _run_next () { _run_all($nextq) } -sub _run_later () { _run_all($laterq) } +sub _run_next () { + _run_all($nextq); + _asap_close(); +} + +sub _run_later () { + _run_all($laterq); + _asap_close(); +} # Called by Danga::Socket sub event_write { |