diff options
Diffstat (limited to 'cpukit')
-rw-r--r-- | 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 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); |