diff options
author | Vasil Dimov <vd@FreeBSD.org> | 2021-04-07 13:47:58 +0200 |
---|---|---|
committer | Vasil Dimov <vd@FreeBSD.org> | 2021-04-08 16:31:55 +0200 |
commit | 1c1467f51b6dda92dec974eb59026c2c5ba79ed6 (patch) | |
tree | 6f021357fb2920882b2c5b7408d98189be3683e3 /src/i2p.cpp | |
parent | aa69471ecd553dbcd7dd6d1b2e59dfb69d6a0cf3 (diff) | |
download | bitcoin-1c1467f51b6dda92dec974eb59026c2c5ba79ed6.tar.xz |
i2p: cancel the Accept() method if waiting on the socket errors
Diffstat (limited to 'src/i2p.cpp')
-rw-r--r-- | src/i2p.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/i2p.cpp b/src/i2p.cpp index a44f09f043..2ae164633b 100644 --- a/src/i2p.cpp +++ b/src/i2p.cpp @@ -147,7 +147,9 @@ bool Session::Accept(Connection& conn) try { while (!*m_interrupt) { Sock::Event occurred; - conn.sock->Wait(MAX_WAIT_FOR_IO, Sock::RECV, &occurred); + if (!conn.sock->Wait(MAX_WAIT_FOR_IO, Sock::RECV, &occurred)) { + throw std::runtime_error("wait on socket failed"); + } if ((occurred & Sock::RECV) == 0) { // Timeout, no incoming connections within MAX_WAIT_FOR_IO. |