diff options
Diffstat (limited to 'common/src/tx_mutex_cleanup.c')
| -rw-r--r-- | common/src/tx_mutex_cleanup.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/common/src/tx_mutex_cleanup.c b/common/src/tx_mutex_cleanup.c index aac2950c..ec62600e 100644 --- a/common/src/tx_mutex_cleanup.c +++ b/common/src/tx_mutex_cleanup.c @@ -100,14 +100,14 @@ TX_THREAD *previous_thread; /* Check for valid suspension sequence. */ if (suspension_sequence == thread_ptr -> tx_thread_suspension_sequence) { - + /* Setup pointer to mutex control block. */ mutex_ptr = TX_VOID_TO_MUTEX_POINTER_CONVERT(thread_ptr -> tx_thread_suspend_control_block); - + /* Check for NULL mutex pointer. */ if (mutex_ptr != TX_NULL) { - + /* Determine if the mutex ID is valid. */ if (mutex_ptr -> tx_mutex_id == TX_MUTEX_ID) { @@ -133,7 +133,7 @@ TX_THREAD *previous_thread; suspended_count = mutex_ptr -> tx_mutex_suspended_count; /* Remove the suspended thread from the list. */ - + /* See if this is the only suspended thread on the list. */ if (suspended_count == TX_NO_SUSPENSIONS) { @@ -147,7 +147,7 @@ TX_THREAD *previous_thread; { /* At least one more thread is on the same suspension list. */ - + /* Update the links of the adjacent threads. */ next_thread = thread_ptr -> tx_thread_suspended_next; previous_thread = thread_ptr -> tx_thread_suspended_previous; @@ -157,18 +157,18 @@ TX_THREAD *previous_thread; /* Determine if we need to update the head pointer. */ if (mutex_ptr -> tx_mutex_suspension_list == thread_ptr) { - + /* Update the list head pointer. */ mutex_ptr -> tx_mutex_suspension_list = next_thread; } } - + /* Now we need to determine if this cleanup is from a terminate, timeout, or from a wait abort. */ if (thread_ptr -> tx_thread_state == TX_MUTEX_SUSP) { - /* Timeout condition and the thread still suspended on the mutex. + /* Timeout condition and the thread still suspended on the mutex. Setup return error status and resume the thread. */ #ifdef TX_MUTEX_ENABLE_PERFORMANCE_INFO @@ -194,7 +194,7 @@ TX_THREAD *previous_thread; /* Restore interrupts. */ TX_RESTORE - + /* Resume the thread! */ _tx_thread_system_resume(thread_ptr); @@ -208,7 +208,7 @@ TX_THREAD *previous_thread; } } } - + /* Restore interrupts. */ TX_RESTORE #endif @@ -269,21 +269,21 @@ UINT status; /* Disable interrupts. */ TX_DISABLE - + /* Temporarily disable preemption. */ _tx_thread_preempt_disable++; /* Loop to look at all the mutexes. */ do { - + /* Pickup the mutex head pointer. */ mutex_ptr = thread_ptr -> tx_thread_owned_mutex_list; /* Determine if there is a mutex. */ if (mutex_ptr != TX_NULL) { - + /* Yes, set the ownership count to 1. */ mutex_ptr -> tx_mutex_ownership_count = ((UINT) 1); @@ -307,10 +307,10 @@ UINT status; mutex_ptr = thread_ptr -> tx_thread_owned_mutex_list; } } while (mutex_ptr != TX_NULL); - + /* Restore preemption. */ _tx_thread_preempt_disable--; - + /* Restore interrupts. */ TX_RESTORE } |
