summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-22 17:26:23 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-22 17:27:39 +0200
commitf6f494373c7c072ebed4122611c2fe074a460a54 (patch)
tree7c926971082f66698e5073518b5cc54bf3e967a0 /cpukit
parentbsp/stm32f4: fix typo in USART2 device name (diff)
downloadrtems-f6f494373c7c072ebed4122611c2fe074a460a54.tar.bz2
network: SMP support for network semaphore
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/libnetworking/rtems/rtems_glue.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/cpukit/libnetworking/rtems/rtems_glue.c b/cpukit/libnetworking/rtems/rtems_glue.c
index 05221bfc57..e5163acae2 100644
--- a/cpukit/libnetworking/rtems/rtems_glue.c
+++ b/cpukit/libnetworking/rtems/rtems_glue.c
@@ -367,6 +367,9 @@ rtems_bsdnet_semaphore_obtain (void)
#ifdef RTEMS_FAST_MUTEX
ISR_Level level;
Thread_Control *executing;
+#ifdef RTEMS_SMP
+ _Thread_Disable_dispatch();
+#endif
_ISR_Disable (level);
executing = _Thread_Executing;
_CORE_mutex_Seize (
@@ -377,6 +380,9 @@ rtems_bsdnet_semaphore_obtain (void)
0, /* forever */
level
);
+#ifdef RTEMS_SMP
+ _Thread_Enable_dispatch();
+#endif
if (executing->Wait.return_code)
rtems_panic ("rtems-net: can't obtain network sema: %d\n",
executing->Wait.return_code);