diff options
author | Felix Fietkau <nbd@nbd.name> | 2017-03-09 08:53:52 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2017-12-13 14:44:05 +0100 |
commit | cfb5a550e4c693a3cb54ae6f6a341d0a5b78d637 (patch) | |
tree | fb8affa42a796b58bf2d128d2f2e3a6965409da2 | |
parent | 14114935691d185f50cfde882deab99ac1374001 (diff) | |
download | upstream-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)
-rw-r--r-- | package/network/utils/iwcap/src/iwcap.c | 26 |
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++; |