forked from premiere/premiere-libtorrent
fixed deadlock when starting torrents with certain invalid tracker URLs
This commit is contained in:
parent
4ca8339337
commit
43aeb2d710
|
@ -28,6 +28,7 @@
|
|||
incoming connection
|
||||
* added more detailed instrumentation of the disk I/O thread
|
||||
|
||||
* fixed deadlock when starting torrents with certain invalid tracker URLs
|
||||
* fixed iterator bug in disk I/O thread
|
||||
* fixed FIEMAP support on linux
|
||||
* fixed strict aliasing warning on gcc
|
||||
|
|
|
@ -253,7 +253,7 @@ namespace libtorrent
|
|||
|
||||
void http_tracker_connection::on_connect(http_connection& c)
|
||||
{
|
||||
error_code ec;
|
||||
error_code ec;
|
||||
tcp::endpoint ep = c.socket().remote_endpoint(ec);
|
||||
m_tracker_ip = ep.address();
|
||||
boost::shared_ptr<request_callback> cb = requester();
|
||||
|
|
|
@ -95,7 +95,9 @@ namespace libtorrent
|
|||
|
||||
if (ec)
|
||||
{
|
||||
fail(ec);
|
||||
// never call fail() when the session mutex is locked!
|
||||
m_socket.get_io_service().post(boost::bind(
|
||||
&tracker_connection::fail_disp, self(), ec));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue