From 44f66e90eb766f0a695418a6be7b15a6c18f45b6 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Sun, 23 Feb 2014 08:54:00 -0800 Subject: [PATCH] MUX: Added delay after closing a socket created to validate a port specification. Suggested by Mark Emmer The network stack on Windows XP needs an opportunity to cleanup after closing a listening socket which was created but not used, --- sim_tmxr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sim_tmxr.c b/sim_tmxr.c index 508aeaf2..c6153cfa 100644 --- a/sim_tmxr.c +++ b/sim_tmxr.c @@ -2222,12 +2222,13 @@ while (*tptr) { cptr = init_cptr; } cptr = get_glyph_nc (cptr, port, ';'); - sock = sim_master_sock (port, &r); /* make master socket */ + sock = sim_master_sock (port, &r); /* make master socket to validate port */ if (r != SCPE_OK) return r; if (sock == INVALID_SOCKET) /* open error */ return SCPE_OPENERR; sim_close_sock (sock, 1); + sim_os_ms_sleep (2); /* let the close finish (required on some platforms) */ strcpy(listen, port); cptr = get_glyph (cptr, option, ';'); if (option[0]) {