]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Mark closed socket as unused.
authorToni Wilen <twilen@winuae.net>
Sat, 19 Oct 2019 13:11:41 +0000 (16:11 +0300)
committerToni Wilen <twilen@winuae.net>
Sat, 19 Oct 2019 13:11:41 +0000 (16:11 +0300)
od-win32/bsdsock.cpp

index 58d655cde2432b740f1bb6b1aae0a622a2666eb3..a03492ad86437ea714e61fc6dcc1d522bac65182 100644 (file)
@@ -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;