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>
master
Felix Fietkau 8 years ago
parent 51130b9927
commit 2f09a1e3c9
  1. 26
      package/network/utils/iwcap/src/iwcap.c

@ -490,19 +490,7 @@ int main(int argc, char **argv)
/* capture loop */ /* capture loop */
while (1) while (1)
{ {
if (run_stop) if (run_dump)
{
msg("Shutting down ...\n");
if (promisc)
set_promisc(0);
if (ring)
ringbuf_free(ring);
return 0;
}
else if (run_dump)
{ {
msg("Dumping ring to %s ...\n", output); msg("Dumping ring to %s ...\n", output);
@ -535,6 +523,18 @@ int main(int argc, char **argv)
run_dump = 0; 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); pktlen = recvfrom(capture_sock, pktbuf, sizeof(pktbuf), 0, NULL, 0);
frames_captured++; frames_captured++;

Loading…
Cancel
Save