]> Kevux Git Server - fll/commitdiff
Update: Provide THREAD_* defines if they do not exist and use the f_thread defines.
authorKevin Day <Kevin@kevux.org>
Mon, 15 Dec 2025 00:46:01 +0000 (18:46 -0600)
committerKevin Day <Kevin@kevux.org>
Mon, 15 Dec 2025 00:46:01 +0000 (18:46 -0600)
Make sure all relevant `THREAD_*` are defined and if not, then define them.

Do not directly use the `PTHEAD_*` defines.
Instead use the ones provided by `f_thread`.

level_0/f_thread/c/thread/common.h
level_3/byte_dump/c/main/thread.c
level_3/example/c/main/thread.c
level_3/fake/c/main/thread.c
level_3/fss_identify/c/main/thread.c
level_3/fss_read/c/main/thread.c
level_3/fss_write/c/main/thread.c
level_3/iki_read/c/main/thread.c
level_3/iki_write/c/main/thread.c
level_3/status_code/c/main/thread.c
level_3/utf8/c/main/thread.c

index 043d6ecfcf28b8b1f0db33aa4c4ab950418f74e3..c16a6723f71cfec9d9e34cdd41b79e8366a52ac1 100644 (file)
@@ -26,6 +26,22 @@ extern "C" {
  *   - enable:       Enable thread cancellation.
  */
 #ifndef _di_f_thread_cancel_d_
+  #ifndef PTHREAD_CANCEL_ASYNCHRONOUS
+    #define PTHREAD_CANCEL_ASYNCHRONOUS 1
+  #endif // PTHREAD_CANCEL_ASYNCHRONOUS
+
+  #ifndef PTHREAD_CANCEL_DEFERRED
+    #define PTHREAD_CANCEL_DEFERRED 0
+  #endif // PTHREAD_CANCEL_DEFERRED
+
+  #ifndef PTHREAD_CANCEL_DISABLE
+    #define PTHREAD_CANCEL_DISABLE 1
+  #endif // PTHREAD_CANCEL_DISABLE
+
+  #ifndef PTHREAD_CANCEL_ENABLE
+    #define PTHREAD_CANCEL_ENABLE 0
+  #endif // PTHREAD_CANCEL_ENABLE
+
   #define f_thread_cancel_asynchronous_d PTHREAD_CANCEL_ASYNCHRONOUS
   #define f_thread_cancel_defer_d        PTHREAD_CANCEL_DEFERRED
   #define f_thread_cancel_disable_d      PTHREAD_CANCEL_DISABLE
@@ -41,6 +57,18 @@ extern "C" {
  *   - protect: Use protect protocol; use explicitly defined priority ceiling settings.
  */
 #ifndef _di_f_thread_mutex_protocol_d_
+  #ifndef PTHREAD_PRIO_INHERIT
+    #define PTHREAD_PRIO_INHERIT 1
+  #endif // PTHREAD_PRIO_INHERIT
+
+  #ifndef PTHREAD_PRIO_NONE
+    #define PTHREAD_PRIO_NONE 0
+  #endif // PTHREAD_PRIO_NONE
+
+  #ifndef PTHREAD_PRIO_PROTECT
+    #define PTHREAD_PRIO_PROTECT 2
+  #endif // PTHREAD_PRIO_PROTECT
+
   #define f_thread_mutex_protocol_inherit_d PTHREAD_PRIO_INHERIT
   #define f_thread_mutex_protocol_none_d    PTHREAD_PRIO_NONE
   #define f_thread_mutex_protocol_protect_d PTHREAD_PRIO_PROTECT
@@ -54,6 +82,14 @@ extern "C" {
  *   - stalled: The thread is considered to be in a stalled state.
  */
 #ifndef _di_f_thread_mutex_robust_d_
+  #ifndef PTHREAD_MUTEX_ROBUST
+    #define PTHREAD_MUTEX_ROBUST 1
+  #endif // PTHREAD_MUTEX_ROBUST
+
+  #ifndef PTHREAD_MUTEX_STALLED
+    #define PTHREAD_MUTEX_STALLED 0
+  #endif // PTHREAD_MUTEX_STALLED
+
   #define f_thread_mutex_robust_okay_d    PTHREAD_MUTEX_ROBUST
   #define f_thread_mutex_robust_stalled_d PTHREAD_MUTEX_STALLED
 #endif // _di_f_thread_mutex_robust_d_
@@ -67,6 +103,20 @@ extern "C" {
  *   - recursive:   Recursive lock (uses a count on locks, mutexs become unlocked when count is 0).
  */
 #ifndef _di_f_thread_mutex_type_d_
+  #ifndef PTHREAD_MUTEX_ERRORCHECK
+    #define PTHREAD_MUTEX_ERRORCHECK 2
+  #endif // PTHREAD_MUTEX_ERRORCHECK
+
+
+  #ifndef PTHREAD_MUTEX_RECURSIVE
+    #define PTHREAD_MUTEX_RECURSIVE 1
+  #endif // PTHREAD_MUTEX_RECURSIVE
+
+
+  #ifndef PTHREAD_MUTEX_NORMAL
+    #define PTHREAD_MUTEX_NORMAL 0
+  #endif // PTHREAD_MUTEX_NORMAL
+
   #define f_thread_mutex_type_error_check_d PTHREAD_MUTEX_ERRORCHECK
   #define f_thread_mutex_type_normal_d      PTHREAD_MUTEX_RECURSIVE
   #define f_thread_mutex_type_recursive_d   PTHREAD_MUTEX_NORMAL
@@ -80,6 +130,14 @@ extern "C" {
  *   - shared:  The mutex is shared between any threads with memory access to the mutex object (even across processes).
  */
 #ifndef _di_f_thread_process_d_
+  #ifndef PTHREAD_PROCESS_PRIVATE
+    #define PTHREAD_PROCESS_PRIVATE 0
+  #endif // PTHREAD_PROCESS_PRIVATE
+
+  #ifndef PTHREAD_PROCESS_SHARED
+    #define PTHREAD_PROCESS_SHARED 1
+  #endif // PTHREAD_PROCESS_SHARED
+
   #define f_thread_process_private_d PTHREAD_PROCESS_PRIVATE
   #define f_thread_process_shared_d  PTHREAD_PROCESS_SHARED
 #endif // _di_f_thread_process_d_
@@ -92,6 +150,14 @@ extern "C" {
  *   - inherit:  Use the scheduling from a parent thread or process.
  */
 #ifndef _di_f_thread_schedule_d_
+  #ifndef PTHREAD_EXPLICIT_SCHED
+    #define PTHREAD_EXPLICIT_SCHED 1
+  #endif // PTHREAD_EXPLICIT_SCHED
+
+  #ifndef PTHREAD_INHERIT_SCHED
+    #define PTHREAD_INHERIT_SCHED 0
+  #endif // PTHREAD_INHERIT_SCHED
+
   #define f_thread_schedule_explicit_d PTHREAD_EXPLICIT_SCHED
   #define f_thread_schedule_inherit_d  PTHREAD_INHERIT_SCHED
 #endif // _di_f_thread_schedule_d_
@@ -104,6 +170,14 @@ extern "C" {
  *   - system:  The thread vies for resources with all processes on the system with the same scheduling domain.
  */
 #ifndef _di_f_thread_scope_d_
+  #ifndef PTHREAD_SCOPE_PROCESS
+    #define PTHREAD_SCOPE_PROCESS 1
+  #endif // PTHREAD_SCOPE_PROCESS
+
+  #ifndef PTHREAD_SCOPE_SYSTEM
+    #define PTHREAD_SCOPE_SYSTEM 0
+  #endif // PTHREAD_SCOPE_SYSTEM
+
   #define f_thread_scope_process_d PTHREAD_SCOPE_PROCESS
   #define f_thread_scope_system_d  PTHREAD_SCOPE_SYSTEM
 #endif // _di_f_thread_scope_d_
index 6d8d4c9f0b095c761cdd0ea18ed98e08598199f3..abace1d202b179f4f724a3b26950ce4ed85e44d7 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 #if !defined(_di_byte_dump_thread_signal_) && !defined(_di_thread_support_)
   void * byte_dump_thread_signal(void * const main) {
 
-    f_thread_cancel_state_set(PTHREAD_CANCEL_DEFERRED, 0);
+    f_thread_cancel_state_set(f_thread_cancel_defer_d, 0);
 
     if (main) {
       byte_dump_signal_handler((byte_dump_main_t *) main);
index 2c302a3d09a0cb7ab8f1865cbd6d2fce5e52e6fe..20d770890235269cbb3ab5ea1298fed46ba9e210 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 #if !defined(_di_example_thread_signal_) && !defined(_di_thread_support_)
   void * example_thread_signal(void * const main) {
 
-    f_thread_cancel_state_set(PTHREAD_CANCEL_DEFERRED, 0);
+    f_thread_cancel_state_set(f_thread_cancel_defer_d, 0);
 
     if (main) {
       example_signal_handler((example_main_t *) main);
index 5cbbefef8d72a9abc1aea68820cbbb132c71c91f..3496a7cf2fa748d98a47d37448bc8c0e64f71704 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 #if !defined(_di_fake_thread_signal_) && !defined(_di_thread_support_)
   void * fake_thread_signal(void * const main) {
 
-    f_thread_cancel_state_set(PTHREAD_CANCEL_DEFERRED, 0);
+    f_thread_cancel_state_set(f_thread_cancel_defer_d, 0);
 
     if (main) {
       fake_signal_handler((fake_main_t *) main);
index 6f9c1c974a0307dae4756f57c7876b943cd513e2..015480f32787416318539542c6851e6c036d10d8 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 #if !defined(_di_fss_identify_thread_signal_) && !defined(_di_thread_support_)
   void * fss_identify_thread_signal(void * const main) {
 
-    f_thread_cancel_state_set(PTHREAD_CANCEL_DEFERRED, 0);
+    f_thread_cancel_state_set(f_thread_cancel_defer_d, 0);
 
     if (main) {
       fss_identify_signal_handler((fss_identify_main_t *) main);
index c18ada813a324981198e615ab5264e49484ddb0c..81ef5d65bb3633a3d5c221c71ef6bace800b824f 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 #if !defined(_di_fss_read_thread_signal_) && !defined(_di_thread_support_)
   void * fss_read_thread_signal(void * const main) {
 
-    f_thread_cancel_state_set(PTHREAD_CANCEL_DEFERRED, 0);
+    f_thread_cancel_state_set(f_thread_cancel_defer_d, 0);
 
     if (main) {
       fss_read_signal_handler((fss_read_main_t *) main);
index 923826654f3e2385272c72fbeac5d1fcd0c58ffe..f0db29656e134efaf245744a0a8a304050f96e46 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 #if !defined(_di_fss_write_thread_signal_) && !defined(_di_thread_support_)
   void * fss_write_thread_signal(void * const main) {
 
-    f_thread_cancel_state_set(PTHREAD_CANCEL_DEFERRED, 0);
+    f_thread_cancel_state_set(f_thread_cancel_defer_d, 0);
 
     if (main) {
       fss_write_signal_handler((fss_write_main_t *) main);
index 449842c46fd1da8d9a4942c5c036bc34ce7d4657..87f7dc0328cf7f2d2f96282b16762cb62d51157a 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 #if !defined(_di_iki_read_thread_signal_) && !defined(_di_thread_support_)
   void * iki_read_thread_signal(void * const main) {
 
-    f_thread_cancel_state_set(PTHREAD_CANCEL_DEFERRED, 0);
+    f_thread_cancel_state_set(f_thread_cancel_defer_d, 0);
 
     if (main) {
       iki_read_signal_handler((iki_read_main_t *) main);
index f4aff1bc1451fca628dd7a68f40d1345063520a6..99f10a5a73fbbd3b7dea4991abfa3e61df774129 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 #if !defined(_di_iki_write_thread_signal_) && !defined(_di_thread_support_)
   void * iki_write_thread_signal(void * const main) {
 
-    f_thread_cancel_state_set(PTHREAD_CANCEL_DEFERRED, 0);
+    f_thread_cancel_state_set(f_thread_cancel_defer_d, 0);
 
     if (main) {
       iki_write_signal_handler((iki_write_main_t *) main);
index e01e9ae8fcc1c7ef461516fa9eb9f670d3747849..7abdd60705e35cc31e4029281c00a0f26a4b1296 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 #if !defined(_di_status_code_thread_signal_) && !defined(_di_thread_support_)
   void * status_code_thread_signal(void * const main) {
 
-    f_thread_cancel_state_set(PTHREAD_CANCEL_DEFERRED, 0);
+    f_thread_cancel_state_set(f_thread_cancel_defer_d, 0);
 
     if (main) {
       status_code_signal_handler((status_code_main_t *) main);
index ba7b34962a249cd02af255b50719650d3ceb526b..8c877f09f3a9837dd1b725d3843a11c87049a753 100644 (file)
@@ -7,7 +7,7 @@ extern "C" {
 #if !defined(_di_utf8_thread_signal_) && !defined(_di_thread_support_)
   void * utf8_thread_signal(void * const main) {
 
-    f_thread_cancel_state_set(PTHREAD_CANCEL_DEFERRED, 0);
+    f_thread_cancel_state_set(f_thread_cancel_defer_d, 0);
 
     if (main) {
       utf8_signal_handler((utf8_main_t *) main);