From: Toni Wilen Date: Sat, 19 Oct 2019 13:11:41 +0000 (+0300) Subject: Mark closed socket as unused. X-Git-Tag: 4300~78 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=4daf60ecbeaad6a46ef697ebcc9ac4b1e6ed219c;p=francis%2Fwinuae.git Mark closed socket as unused. --- diff --git a/od-win32/bsdsock.cpp b/od-win32/bsdsock.cpp index 58d655cd..a03492ad 100644 --- a/od-win32/bsdsock.cpp +++ b/od-win32/bsdsock.cpp @@ -371,8 +371,11 @@ void host_sbcleanup(SB) bsd->asyncsb[(sb->mtable[i] - 0xb000) / 2] = NULL; } - shutdown(sb->sockAbort, 1); - closesocket(sb->sockAbort); + if (sb->sockAbort != INVALID_SOCKET) { + shutdown(sb->sockAbort, 1); + closesocket(sb->sockAbort); + sb->sockAbort = INVALID_SOCKET; + } free(sb->mtable); sb->mtable = NULL; @@ -891,6 +894,7 @@ static BOOL HandleStuff(void) if (*(sockreq.params.abort_s.newsock) != sb->sockAbort) { shutdown(sb->sockAbort, 1); closesocket(sb->sockAbort); + sb->sockAbort = INVALID_SOCKET; } handled = FALSE; /* Don't bother the SETERRNO section after the switch() */ break;