diff options
Diffstat (limited to 'bsd_eth_drivers/libbsdport/rtems_taskqueue.c')
-rw-r--r-- | bsd_eth_drivers/libbsdport/rtems_taskqueue.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/bsd_eth_drivers/libbsdport/rtems_taskqueue.c b/bsd_eth_drivers/libbsdport/rtems_taskqueue.c index 97153ca..c5e2256 100644 --- a/bsd_eth_drivers/libbsdport/rtems_taskqueue.c +++ b/bsd_eth_drivers/libbsdport/rtems_taskqueue.c @@ -223,7 +223,9 @@ struct taskqueue *tq = arg; rtems_event_set evs; rtems_status_code sc; while ( 1 ) { - sc = rtems_bsdnet_event_receive(TQ_WAKE_EVENT, RTEMS_EVENT_ANY | RTEMS_WAIT, RTEMS_NO_TIMEOUT, &evs); + rtems_bsdnet_semaphore_release(); + sc = rtems_event_receive(TQ_WAKE_EVENT, RTEMS_EVENT_ANY | RTEMS_WAIT, RTEMS_NO_TIMEOUT, &evs); + rtems_bsdnet_semaphore_obtain(); if ( RTEMS_SUCCESSFUL != sc ) { rtems_error(sc,"rtems_taskqueue: taskqueueDoWork() unable to receive wakup event\n"); rtems_panic("Can't proceed\n"); |