1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-19 09:54:15 +01:00

Get rid of the mutex when enabling/disabling soft IRQs. This isn't ideal but

it seems to be triggering deadlocks.
This commit is contained in:
James Cotton 2012-03-11 21:49:21 -05:00
parent 6adc74f6f9
commit 6df2df6eec

View File

@ -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);
}
/*-----------------------------------------------------------*/