From: Felix Fietkau Date: Thu, 9 Mar 2017 07:53:52 +0000 (+0100) Subject: iwcap: fix handling kill signal during dump X-Git-Tag: v17.01.5~271 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=cfb5a550e4c693a3cb54ae6f6a341d0a5b78d637 iwcap: fix handling kill signal during dump Do not run another loop iteration before checking the stop flag Signed-off-by: Felix Fietkau (cherry picked from commit 2f09a1e3c950c9b2993ae52d1b0e78317c344470) --- 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++;