Fix chopstx_poll

This commit is contained in:
NIIBE Yutaka
2016-05-23 17:45:10 +09:00
parent eeb354119c
commit 77255b0c1d
2 changed files with 7 additions and 0 deletions

View File

@@ -1,5 +1,7 @@
2016-05-23 NIIBE Yutaka <gniibe@fsij.org>
* chopstx.c (chopstx_poll): Fix a race. Check COUNTER.
* example-cdc/usb-cdc.c (tty_input_char): Include newline.
* example-cdc/sample.c: Handle newline.

View File

@@ -1801,6 +1801,11 @@ chopstx_poll (uint32_t *usec_p, int n, ...)
{
chopstx_testcancel ();
chx_cpu_sched_lock ();
if (counter)
{
chx_cpu_sched_unlock ();
break;
}
r = chx_snooze (THREAD_WAIT_POLL, usec_p);
}
while (r == 0);