summaryrefslogtreecommitdiffstats
path: root/bsd_eth_drivers
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-02-13 09:46:25 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-02-13 09:46:25 +0100
commit28a6f92d32b4a286f0c726ea9030a23a4852fe33 (patch)
treeb79b8b7122bb8f8c04b35dbe533a554f127d968d /bsd_eth_drivers
parent2011-08-04 Till Straumann <Till.Straumann@TU-Berlin.de> (diff)
downloadlibbsdport-master.tar.bz2
Avoid rtems_bsdnet_event_receive()HEADmaster
RTEMS 4.11 will use system events inside the network stack. Use normal events for CALLOUT(9) and TASKQUEUE(9) implementations.
Diffstat (limited to 'bsd_eth_drivers')
-rw-r--r--bsd_eth_drivers/libbsdport/rtems_callout.c4
-rw-r--r--bsd_eth_drivers/libbsdport/rtems_taskqueue.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/bsd_eth_drivers/libbsdport/rtems_callout.c b/bsd_eth_drivers/libbsdport/rtems_callout.c
index c041c5b..332c9e0 100644
--- a/bsd_eth_drivers/libbsdport/rtems_callout.c
+++ b/bsd_eth_drivers/libbsdport/rtems_callout.c
@@ -158,7 +158,9 @@ rtems_id me;
rtems_timer_fire_after(ticker, 1, calloutTick, (void*)me);
while ( 1 ) {
- sc = rtems_bsdnet_event_receive (CALLOUT_EVENT | KILL_EVENT, RTEMS_EVENT_ANY | RTEMS_WAIT, RTEMS_NO_TIMEOUT, &ev);
+ rtems_bsdnet_semaphore_release ();
+ sc = rtems_event_receive (CALLOUT_EVENT | KILL_EVENT, RTEMS_EVENT_ANY | RTEMS_WAIT, RTEMS_NO_TIMEOUT, &ev);
+ rtems_bsdnet_semaphore_obtain ();
if ( RTEMS_SUCCESSFUL != sc ) {
rtems_error(sc, "calloutTask: unable to receive event; terminating\n");
break;
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");