summaryrefslogtreecommitdiff
path: root/utility/rtos_compatibility_layers/posix/px_system_manager.c
diff options
context:
space:
mode:
authorFrédéric Desbiens <[email protected]>2026-03-06 19:27:49 +0100
committerGitHub <[email protected]>2026-03-06 19:27:49 +0100
commit3726d7906b4808bfec7855fc088e073199df9120 (patch)
tree8789bfd03d1d49e1967e80d04aa4ff606fda43eb /utility/rtos_compatibility_layers/posix/px_system_manager.c
parent4b6e8100d932a3a67b34c6eb17f84f3bffb9e2ae (diff)
parentc3259a216026372e3833dd8996a68f77e8595fbd (diff)
Merge pull request #510 from eclipse-threadx/devv6.5.0.202601_rel
Merge changes ahead of the v6.5.0.202601 release
Diffstat (limited to 'utility/rtos_compatibility_layers/posix/px_system_manager.c')
-rw-r--r--utility/rtos_compatibility_layers/posix/px_system_manager.c67
1 files changed, 30 insertions, 37 deletions
diff --git a/utility/rtos_compatibility_layers/posix/px_system_manager.c b/utility/rtos_compatibility_layers/posix/px_system_manager.c
index ef24202b..92b71414 100644
--- a/utility/rtos_compatibility_layers/posix/px_system_manager.c
+++ b/utility/rtos_compatibility_layers/posix/px_system_manager.c
@@ -1,18 +1,19 @@
/***************************************************************************
- * Copyright (c) 2024 Microsoft Corporation
- *
+ * Copyright (c) 2024 Microsoft Corporation
+ * Copyright (c) 2026-present Eclipse ThreadX contributors
+ *
* This program and the accompanying materials are made available under the
* terms of the MIT License which is available at
* https://opensource.org/licenses/MIT.
- *
+ *
* SPDX-License-Identifier: MIT
**************************************************************************/
/**************************************************************************/
/**************************************************************************/
-/** */
-/** POSIX wrapper for THREADX */
+/** */
+/** POSIX wrapper for THREADX */
/** */
/** */
/** */
@@ -25,46 +26,38 @@
#include "pthread.h" /* Posix API */
#include "px_int.h" /* Posix helper functions */
-/**************************************************************************/
-/* */
-/* FUNCTION RELEASE */
-/* */
-/* posix_system_manager_entry PORTABLE C */
+/**************************************************************************/
+/* */
+/* FUNCTION RELEASE */
+/* */
+/* posix_system_manager_entry PORTABLE C */
/* 6.2.0 */
/* AUTHOR */
/* */
/* William E. Lamie, Microsoft Corporation */
/* */
-/* DESCRIPTION */
-/* */
+/* DESCRIPTION */
+/* */
/* This is the System Manager thread for the POSIX> The system */
/* manager thread cleans up terminated threads and releases */
/* the stack memory associated with the thread */
-/* */
-/* INPUT */
-/* */
-/* input Not used */
-/* */
-/* OUTPUT */
-/* */
-/* None */
-/* */
-/* CALLS */
/* */
-/* tx_queue_receive Receive system request */
+/* INPUT */
+/* */
+/* input Not used */
+/* */
+/* OUTPUT */
+/* */
+/* None */
+/* */
+/* CALLS */
+/* */
+/* tx_queue_receive Receive system request */
/* posix_do_pthread_delete Delete a pthread */
/* */
-/* CALLED BY */
-/* */
-/* Start-up code */
-/* */
-/* RELEASE HISTORY */
-/* */
-/* DATE NAME DESCRIPTION */
+/* CALLED BY */
/* */
-/* 06-02-2021 William E. Lamie Initial Version 6.1.7 */
-/* 10-31-2022 Scott Larson Add 64-bit support, */
-/* resulting in version 6.2.0 */
+/* Start-up code */
/* */
/**************************************************************************/
VOID posix_system_manager_entry(ULONG input)
@@ -79,18 +72,18 @@ VOID *value_ptr;
/* Avoid compiler warning. */
TX_PARAMETER_NOT_USED(input);
- /* Loop forever, waiting for work requests. */
+ /* Loop forever, waiting for work requests. */
while(1)
{
/* Wait forever for the next work request. */
status = tx_queue_receive(&posix_work_queue, &request, TX_WAIT_FOREVER);
- /* Make sure we didn't encounter any trouble. */
+ /* Make sure we didn't encounter any trouble. */
if (status != TX_SUCCESS)
{
/* Get the next message. */
continue;
}
-
+
#ifdef TX_64_BIT
pthread_ptr = (POSIX_TCB *)((((ALIGN_TYPE)request[0]) << 32) | request[1]);
value_ptr = (VOID *)((((ALIGN_TYPE)request[2]) << 32) | request[3]);
@@ -101,7 +94,7 @@ VOID *value_ptr;
/* Delete the pthread */
posix_do_pthread_delete(pthread_ptr, value_ptr);
-
+
} /* System Manager forever loop */
}