fixed deadlock when starting torrents with certain invalid tracker URLs

This commit is contained in:
Arvid Norberg 2010-04-15 03:29:34 +00:00
parent 4ca8339337
commit 43aeb2d710
3 changed files with 5 additions and 2 deletions

View File

@ -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

View File

@ -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();

View File

@ -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;
}