From 6df2df6eecd8a2c178420bca6f3cf591318f4fac Mon Sep 17 00:00:00 2001 From: James Cotton Date: Sun, 11 Mar 2012 21:49:21 -0500 Subject: [PATCH] Get rid of the mutex when enabling/disabling soft IRQs. This isn't ideal but it seems to be triggering deadlocks. --- .../FreeRTOS/Source/portable/GCC/Posix/port.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/portable/GCC/Posix/port.c b/flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/portable/GCC/Posix/port.c index 1dcae9bf9..d0d30fa3e 100644 --- a/flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/portable/GCC/Posix/port.c +++ b/flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/portable/GCC/Posix/port.c @@ -109,7 +109,7 @@ static pthread_mutex_t xRunningThread = PTHREAD_MUTEX_INITIALIZER; #endif static pthread_mutex_t xSuspendResumeThreadMutex = PTHREAD_MUTEX_INITIALIZER; static pthread_mutex_t xSwappingThreadMutex = PTHREAD_MUTEX_INITIALIZER; -static pthread_mutex_t xIrqMutex = PTHREAD_MUTEX_INITIALIZER; +//static pthread_mutex_t xIrqMutex = PTHREAD_MUTEX_INITIALIZER; static pthread_t hMainThread = ( pthread_t )NULL; /*-----------------------------------------------------------*/ @@ -514,18 +514,18 @@ tskTCB * oldTask, * newTask; void vPortDisableInterrupts( void ) { //debug_printf("\r\n"); - assert( pthread_mutex_lock( &xIrqMutex ) == 0); + //assert( pthread_mutex_lock( &xIrqMutex ) == 0); xInterruptsEnabled = pdFALSE; - assert( pthread_mutex_unlock( &xIrqMutex) == 0); + //assert( pthread_mutex_unlock( &xIrqMutex) == 0); } /*-----------------------------------------------------------*/ void vPortEnableInterrupts( void ) { //debug_printf("\r\n"); - assert( pthread_mutex_lock( &xIrqMutex ) == 0); + //assert( pthread_mutex_lock( &xIrqMutex ) == 0); xInterruptsEnabled = pdTRUE; - assert( pthread_mutex_unlock( &xIrqMutex) == 0); + //assert( pthread_mutex_unlock( &xIrqMutex) == 0); } /*-----------------------------------------------------------*/