diff options
author | JINMEI Tatuya <jinmei@isc.org> | 2012-02-27 00:52:19 +0100 |
---|---|---|
committer | JINMEI Tatuya <jinmei@isc.org> | 2012-02-27 00:52:19 +0100 |
commit | e4b2c2633ebb3859286e9a4c19e97e17bcac41b3 (patch) | |
tree | 0972a3cd600c55e37b49e2fa2a1f049504c2f483 /ext | |
parent | [master] fixed a build error on git.bind10 by using exactly the same type in ?: (diff) | |
download | kea-e4b2c2633ebb3859286e9a4c19e97e17bcac41b3.tar.xz kea-e4b2c2633ebb3859286e9a4c19e97e17bcac41b3.zip |
[asiofix] imported a bug fix in ASIO 1.5.1:
https://sourceforge.net/projects/asio/files/asio/1.5.1%20%28Development%29/
* Fixed a bug on kqueue-based platforms, where reactor read operations that return false from their perform() function are not correctly re-registered with kqueue.
This is necessary for multiple processes sharing the same socket to both
accept queries.
Diffstat (limited to 'ext')
-rw-r--r-- | ext/asio/asio/detail/impl/kqueue_reactor.ipp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/asio/asio/detail/impl/kqueue_reactor.ipp b/ext/asio/asio/detail/impl/kqueue_reactor.ipp index 8db77cb3e5..00ebfeb674 100644 --- a/ext/asio/asio/detail/impl/kqueue_reactor.ipp +++ b/ext/asio/asio/detail/impl/kqueue_reactor.ipp @@ -301,12 +301,14 @@ void kqueue_reactor::run(bool block, op_queue<operation>& ops) EV_ADD | EV_ONESHOT, EV_OOBAND, 0, descriptor_data); else continue; + break; case EVFILT_WRITE: if (!descriptor_data->op_queue_[write_op].empty()) ASIO_KQUEUE_EV_SET(&event, descriptor, EVFILT_WRITE, EV_ADD | EV_ONESHOT, 0, 0, descriptor_data); else continue; + break; default: break; } |