summaryrefslogtreecommitdiff
path: root/common_smp/src/tx_thread_relinquish.c
diff options
context:
space:
mode:
Diffstat (limited to 'common_smp/src/tx_thread_relinquish.c')
-rw-r--r--common_smp/src/tx_thread_relinquish.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/common_smp/src/tx_thread_relinquish.c b/common_smp/src/tx_thread_relinquish.c
index 10982b26..f07d2b56 100644
--- a/common_smp/src/tx_thread_relinquish.c
+++ b/common_smp/src/tx_thread_relinquish.c
@@ -9,6 +9,8 @@
* SPDX-License-Identifier: MIT
**************************************************************************/
+// Portions of this file were generated with AI assistance.
+
/**************************************************************************/
/**************************************************************************/
@@ -290,8 +292,10 @@ UINT finished;
}
} while ((next_thread != thread_ptr) && (finished == TX_FALSE));
- /* Determine if we are finished. */
- if (finished == TX_FALSE)
+ /* Determine if we are finished. A rebalance request means the loop stopped
+ at a thread it could not place rather than running out of threads, so the
+ execute list still has to be rebuilt and this is not that case. */
+ if ((finished == TX_FALSE) && (rebalance == TX_FALSE))
{
/* No other thread is ready at this priority... simply return. */