aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-03-09 08:53:52 +0100
committerJo-Philipp Wich <jo@mein.io>2017-12-13 14:44:05 +0100
commitcfb5a550e4c693a3cb54ae6f6a341d0a5b78d637 (patch)
treefb8affa42a796b58bf2d128d2f2e3a6965409da2 /package
parent14114935691d185f50cfde882deab99ac1374001 (diff)
downloadupstream-cfb5a550e4c693a3cb54ae6f6a341d0a5b78d637.tar.gz
upstream-cfb5a550e4c693a3cb54ae6f6a341d0a5b78d637.tar.bz2
upstream-cfb5a550e4c693a3cb54ae6f6a341d0a5b78d637.zip
iwcap: fix handling kill signal during dump
Do not run another loop iteration before checking the stop flag Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry picked from commit 2f09a1e3c950c9b2993ae52d1b0e78317c344470)
Diffstat (limited to 'package')
-rw-r--r--package/network/utils/iwcap/src/iwcap.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/package/network/utils/iwcap/src/iwcap.c b/package/network/utils/iwcap/src/iwcap.c
index 6bf25c57dd..bc69550ef3 100644
--- a/package/network/utils/iwcap/src/iwcap.c
+++ b/package/network/utils/iwcap/src/iwcap.c
@@ -490,19 +490,7 @@ int main(int argc, char **argv)
/* capture loop */
while (1)
{
- if (run_stop)
- {
- msg("Shutting down ...\n");
-
- if (promisc)
- set_promisc(0);
-
- if (ring)
- ringbuf_free(ring);
-
- return 0;
- }
- else if (run_dump)
+ if (run_dump)
{
msg("Dumping ring to %s ...\n", output);
@@ -535,6 +523,18 @@ int main(int argc, char **argv)
run_dump = 0;
}
+ if (run_stop)
+ {
+ msg("Shutting down ...\n");
+
+ if (promisc)
+ set_promisc(0);
+
+ if (ring)
+ ringbuf_free(ring);
+
+ return 0;
+ }
pktlen = recvfrom(capture_sock, pktbuf, sizeof(pktbuf), 0, NULL, 0);
frames_captured++;