diff --git a/libtorrent/src/session_impl.cpp b/libtorrent/src/session_impl.cpp index 102bcf6cd..6d781e6fb 100755 --- a/libtorrent/src/session_impl.cpp +++ b/libtorrent/src/session_impl.cpp @@ -666,14 +666,14 @@ namespace detail try { // create listener socket - m_listen_socket.reset(new socket_acceptor(m_io_service)); - m_listen_socket->set_option(socket_acceptor::reuse_address(true)); + m_listen_socket.reset(new socket_acceptor(m_io_service)); for(;;) { try { m_listen_socket->open(m_listen_interface.protocol()); + m_listen_socket->set_option(socket_acceptor::reuse_address(true)); m_listen_socket->bind(m_listen_interface); m_listen_socket->listen(); m_external_listen_port = m_listen_interface.port(); @@ -2380,3 +2380,4 @@ namespace detail } }} +