[rtems commit] network: SMP support for network semaphore

Sebastian Huber sebh at rtems.org
Mon Jul 22 15:21:35 UTC 2013


Module:    rtems
Branch:    master
Commit:    f6f494373c7c072ebed4122611c2fe074a460a54
Changeset: http://git.rtems.org/rtems/commit/?id=f6f494373c7c072ebed4122611c2fe074a460a54

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Jul 22 17:26:23 2013 +0200

network: SMP support for network semaphore

---

 cpukit/libnetworking/rtems/rtems_glue.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/cpukit/libnetworking/rtems/rtems_glue.c b/cpukit/libnetworking/rtems/rtems_glue.c
index 05221bf..e5163ac 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);




More information about the vc mailing list