diff --git a/ChangeLog b/ChangeLog index 63f070932..1b5f75b50 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,4 @@ + * fix issue in udp_socket with unusual socket failure * split progress_notification alert category into file-, piece- and block progress * utp close-reason fix * exposed default add_torrent_params flags to python bindings diff --git a/src/udp_socket.cpp b/src/udp_socket.cpp index d4d51476a..54fa21183 100644 --- a/src/udp_socket.cpp +++ b/src/udp_socket.cpp @@ -586,8 +586,10 @@ void udp_socket::setup_read(udp::socket* s) error_code ec; boost::system::system_error e(ec); #endif - get_io_service().post(boost::bind(&udp_socket::on_read - , this, e.code(), s)); + on_read_impl(udp::endpoint(), e.code(), 0); + m_abort = true; + close(); + return; } }