summaryrefslogtreecommitdiff
path: root/common_smp/src
diff options
context:
space:
mode:
authorTiejun Zhou <[email protected]>2022-10-26 23:41:13 +0000
committerTiejun Zhou <[email protected]>2022-10-26 23:41:13 +0000
commit3e8e85cdc1e51f9de577457377a4f9a4f6b9b82f (patch)
tree861c0ab74e5dc5de7509b4b85f5e75dd74457117 /common_smp/src
parentb871c33620f9b58a83e92a33f4ca00025e850c7f (diff)
Release 6.2.0v6.2.0_rel
Diffstat (limited to 'common_smp/src')
-rw-r--r--common_smp/src/tx_event_flags_get.c16
-rw-r--r--common_smp/src/tx_thread_create.c9
2 files changed, 13 insertions, 12 deletions
diff --git a/common_smp/src/tx_event_flags_get.c b/common_smp/src/tx_event_flags_get.c
index aba42c6b..3cc62178 100644
--- a/common_smp/src/tx_event_flags_get.c
+++ b/common_smp/src/tx_event_flags_get.c
@@ -36,7 +36,7 @@
/* FUNCTION RELEASE */
/* */
/* _tx_event_flags_get PORTABLE C */
-/* 6.1.11 */
+/* 6.2.0 */
/* AUTHOR */
/* */
/* William E. Lamie, Microsoft Corporation */
@@ -79,6 +79,9 @@
/* 04-25-2022 Scott Larson Modified comment(s), */
/* handle 0 flags case, */
/* resulting in version 6.1.11 */
+/* 10-31-2022 Scott Larson Modified comment(s), always */
+/* return actual flags, */
+/* resulting in version 6.2.0 */
/* */
/**************************************************************************/
UINT _tx_event_flags_get(TX_EVENT_FLAGS_GROUP *group_ptr, ULONG requested_flags,
@@ -125,6 +128,9 @@ UINT interrupted_set_request;
/* Pickup current flags. */
current_flags = group_ptr -> tx_event_flags_group_current;
+ /* Return the actual event flags and apply delayed clearing. */
+ *actual_flags_ptr = current_flags & ~group_ptr -> tx_event_flags_group_delayed_clear;
+
/* Apply the event flag option mask. */
and_request = (get_option & TX_AND);
@@ -158,9 +164,6 @@ UINT interrupted_set_request;
if (flags_satisfied != ((ULONG) 0))
{
- /* Return the actual event flags that satisfied the request. */
- *actual_flags_ptr = current_flags;
-
/* Pickup the clear bit. */
clear_request = (get_option & TX_EVENT_FLAGS_CLEAR_MASK);
@@ -221,9 +224,6 @@ UINT interrupted_set_request;
/* Yes, this request can be handled immediately. */
- /* Return the actual event flags that satisfied the request. */
- *actual_flags_ptr = current_flags;
-
/* Pickup the clear bit. */
clear_request = (get_option & TX_EVENT_FLAGS_CLEAR_MASK);
@@ -274,7 +274,7 @@ UINT interrupted_set_request;
#endif
else
{
-
+ /* flags_satisfied is 0. */
/* Determine if the request specifies suspension. */
if (wait_option != TX_NO_WAIT)
{
diff --git a/common_smp/src/tx_thread_create.c b/common_smp/src/tx_thread_create.c
index a99af7e6..2c799a9b 100644
--- a/common_smp/src/tx_thread_create.c
+++ b/common_smp/src/tx_thread_create.c
@@ -37,7 +37,7 @@
/* FUNCTION RELEASE */
/* */
/* _tx_thread_create PORTABLE SMP */
-/* 6.1.8 */
+/* 6.2.0 */
/* AUTHOR */
/* */
/* William E. Lamie, Microsoft Corporation */
@@ -85,6 +85,10 @@
/* resulting in version 6.1.3 */
/* 08-02-2021 Scott Larson Removed unneeded cast, */
/* resulting in version 6.1.8 */
+/* 10-31-2022 Scott Larson Removed ifdef block to always */
+/* restore interrupts at end */
+/* of if block, */
+/* resulting in version 6.2.0 */
/* */
/**************************************************************************/
UINT _tx_thread_create(TX_THREAD *thread_ptr, CHAR *name_ptr,
@@ -344,11 +348,8 @@ ALIGN_TYPE updated_stack_start;
#endif
}
-#ifndef TX_NOT_INTERRUPTABLE
-
/* Restore interrupts. */
TX_RESTORE
-#endif
}
else
{