mirror of
git://projects.qi-hardware.com/ben-wpan.git
synced 2024-11-26 22:07:30 +02:00
tools/lib/misctxrx.c (wait_for_interrupt): restore signal also after timeout
This commit is contained in:
parent
110d5abe32
commit
6ff235e8ea
@ -42,8 +42,10 @@ uint8_t wait_for_interrupt(struct atrf_dsc *dsc, uint8_t wait_for,
|
|||||||
while (run) {
|
while (run) {
|
||||||
while (run && !atrf_interrupt(dsc)) {
|
while (run && !atrf_interrupt(dsc)) {
|
||||||
usleep(sleep_us);
|
usleep(sleep_us);
|
||||||
if (timeout && !--timeout)
|
if (timeout && !--timeout) {
|
||||||
return 0;
|
irq = 0;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
irq = atrf_reg_read(dsc, REG_IRQ_STATUS);
|
irq = atrf_reg_read(dsc, REG_IRQ_STATUS);
|
||||||
if (atrf_error(dsc))
|
if (atrf_error(dsc))
|
||||||
@ -74,6 +76,7 @@ uint8_t wait_for_interrupt(struct atrf_dsc *dsc, uint8_t wait_for,
|
|||||||
if (irq & wait_for)
|
if (irq & wait_for)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
out:
|
||||||
signal(SIGINT, old_sig);
|
signal(SIGINT, old_sig);
|
||||||
if (!run)
|
if (!run)
|
||||||
raise(SIGINT);
|
raise(SIGINT);
|
||||||
|
Loading…
Reference in New Issue
Block a user