diff options
author | Eric Wong <normalperson@yhbt.net> | 2013-11-07 04:02:44 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2013-11-07 05:00:11 +0000 |
commit | 9ec392b437900842a799894194f6b4c2155e604e (patch) | |
tree | c6aa3dbc3b52369f03ca32381067d3be9c4b2ce7 /lib/yahns/queue_epoll.rb | |
parent | 59c9c3c2c1904e74739d23f2574f0e7cdbf1a474 (diff) | |
download | yahns-9ec392b437900842a799894194f6b4c2155e604e.tar.gz |
apps/responses may trickle infinitely, so our QueueQuitter may not properly kill epoll worker threads, unfortunately. So we'll start the timer and stop waiting (risking segfaults/ugliness) by closing epoll descriptors
Diffstat (limited to 'lib/yahns/queue_epoll.rb')
-rw-r--r-- | lib/yahns/queue_epoll.rb | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/yahns/queue_epoll.rb b/lib/yahns/queue_epoll.rb index 665b87c..3e6536b 100644 --- a/lib/yahns/queue_epoll.rb +++ b/lib/yahns/queue_epoll.rb @@ -59,6 +59,7 @@ class Yahns::Queue < SleepyPenguin::Epoll::IO # :nodoc: end end rescue => e + break if closed? # can still happen due to shutdown_timeout Yahns::Log.exception(logger, 'queue loop', e) end while true end |