SIGTERM also interrupts server2 during net_read()
diff --git a/programs/ssl/ssl_server2.c b/programs/ssl/ssl_server2.c
index 330abbe..738c51f 100644
--- a/programs/ssl/ssl_server2.c
+++ b/programs/ssl/ssl_server2.c
@@ -618,7 +618,7 @@
}
#endif /* POLARSSL_KEY_EXCHANGE__SOME__PSK_ENABLED */
-static int listen_fd;
+static int listen_fd, client_fd = -1;
/* Interruption handler to ensure clean exit (for valgrind testing) */
#if !defined(_WIN32)
@@ -628,13 +628,13 @@
((void) sig);
received_sigterm = 1;
net_close( listen_fd ); /* causes net_accept() to abort */
+ net_close( client_fd ); /* causes net_read() to abort */
}
#endif
int main( int argc, char *argv[] )
{
int ret = 0, len, written, frags, exchanges;
- int client_fd = -1;
int version_suites[4][2];
unsigned char buf[IO_BUF_LEN];
#if defined(POLARSSL_KEY_EXCHANGE__SOME__PSK_ENABLED)