release ref on failing connectTCP

fix #115
This commit is contained in:
WebFreak001 2019-01-09 00:18:43 +01:00
parent ea4917d4d0
commit 9d6b34c73a
2 changed files with 30 additions and 1 deletions

View file

@ -216,7 +216,14 @@ TCPConnection connectTCP(NetworkAddress addr, NetworkAddress bind_address = anyA
enforce(!cancelled, "Failed to connect to " ~ addr.toString() ~
": timeout");
enforce(status == ConnectStatus.connected, "Failed to connect to "~addr.toString()~": "~status.to!string);
if (status != ConnectStatus.connected) {
if (sock != SocketFD.invalid)
assert(!eventDriver.sockets.releaseRef(sock));
enforce(false, "Failed to connect to "~addr.toString()~": "~status.to!string);
assert(false);
}
return TCPConnection(sock, uaddr);
} ();