aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/utils/iperf/patches/0001-fix-latent-bug-in-signal-handling-per-POSIX-calling-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/network/utils/iperf/patches/0001-fix-latent-bug-in-signal-handling-per-POSIX-calling-.patch')
-rw-r--r--package/network/utils/iperf/patches/0001-fix-latent-bug-in-signal-handling-per-POSIX-calling-.patch43
1 files changed, 0 insertions, 43 deletions
diff --git a/package/network/utils/iperf/patches/0001-fix-latent-bug-in-signal-handling-per-POSIX-calling-.patch b/package/network/utils/iperf/patches/0001-fix-latent-bug-in-signal-handling-per-POSIX-calling-.patch
deleted file mode 100644
index a713e06b96..0000000000
--- a/package/network/utils/iperf/patches/0001-fix-latent-bug-in-signal-handling-per-POSIX-calling-.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 7c0ac64ebea38d0d9ff4d160db4d33bc087a3490 Mon Sep 17 00:00:00 2001
-From: Robert McMahon <rjmcmahon@rjmcmahon.com>
-Date: Mon, 16 Jul 2018 17:51:29 -0700
-Subject: [PATCH] fix latent bug in signal handling, per POSIX calling exit()
- in signal handler is not safe. Use _exit() instead. Also, detect the user
- signal SIGINT for the case of server needing two invocations to stop server
- threads. Note: the server threads still need some work from graceful
- termination with a single ctrl-c
-
----
-
---- a/compat/signal.c
-+++ b/compat/signal.c
-@@ -171,7 +171,7 @@ void sig_exit( int inSigno ) {
- static int num = 0;
- if ( num++ == 0 ) {
- fflush( 0 );
-- exit( 0 );
-+ _exit(0);
- }
- } /* end sig_exit */
-
---- a/src/main.cpp
-+++ b/src/main.cpp
-@@ -268,7 +268,7 @@ void Sig_Interupt( int inSigno ) {
- // We try to not allow a single interrupt handled by multiple threads
- // to completely kill the app so we save off the first thread ID
- // then that is the only thread that can supply the next interrupt
-- if ( thread_equalid( sThread, thread_zeroid() ) ) {
-+ if ( (inSigno == SIGINT) && thread_equalid( sThread, thread_zeroid() ) ) {
- sThread = thread_getid();
- } else if ( thread_equalid( sThread, thread_getid() ) ) {
- sig_exit( inSigno );
-@@ -420,9 +420,3 @@ VOID ServiceStop() {
- }
-
- #endif
--
--
--
--
--
--