]> Kevux Git Server - fll/commitdiff
Update: Add defines for f_thread and update appropriate build data.
authorKevin Day <Kevin@kevux.org>
Thu, 28 Aug 2025 02:59:40 +0000 (21:59 -0500)
committerKevin Day <Kevin@kevux.org>
Thu, 28 Aug 2025 02:59:40 +0000 (21:59 -0500)
Add `f_thread` `common.h` and `common.c` with the defines relating to threads.

Move the `f_thread_mutex_attribute_*_d` into these files and remove the `_attribute` from their names.

Update the build disable headers.

21 files changed:
build/disable/level_0/f_thread.h
build/disable/level_0/f_type_array.h
build/disable/level_0/f_utf.h
build/level_0/settings
build/monolithic/settings
build/stand_alone/byte_dump.config.h
build/stand_alone/byte_dump.settings
build/stand_alone/example.config.h
build/stand_alone/example.settings
build/stand_alone/fake.config.h
build/stand_alone/fake.settings
build/stand_alone/firewall.config.h
build/stand_alone/firewall.settings
build/stand_alone/utf8.config.h
build/stand_alone/utf8.settings
level_0/f_thread/c/thread.h
level_0/f_thread/c/thread/common.c [new file with mode: 0644]
level_0/f_thread/c/thread/common.h [new file with mode: 0644]
level_0/f_thread/c/thread/mutex_attribute.h
level_0/f_thread/data/build/settings
level_0/f_thread/data/build/settings-mocks

index 176182e097be8581d885e012a02a0827f4e8846c..b3125f563f1521e59172761e463c2c13b168e4b5 100644 (file)
@@ -29,6 +29,7 @@
 #define _di_f_thread_attributes_t_
 #define _di_f_thread_attributess_delete_callback_
 #define _di_f_thread_attributess_destroy_callback_
+#define _di_f_thread_attributess_t_
 #define _di_f_thread_barrier_attribute_create_
 #define _di_f_thread_barrier_attribute_delete_
 #define _di_f_thread_barrier_attribute_shared_get_
 #define _di_f_thread_barrier_attributes_t_
 #define _di_f_thread_barrier_attributess_delete_callback_
 #define _di_f_thread_barrier_attributess_destroy_callback_
+#define _di_f_thread_barrier_attributess_t_
 #define _di_f_thread_barrier_create_
 #define _di_f_thread_barrier_delete_
+#define _di_f_thread_barrier_full_delete_
+#define _di_f_thread_barrier_full_t_
+#define _di_f_thread_barrier_fulls_delete_callback_
+#define _di_f_thread_barrier_fulls_destroy_callback_
+#define _di_f_thread_barrier_fulls_t_
+#define _di_f_thread_barrier_fullss_delete_callback_
+#define _di_f_thread_barrier_fullss_destroy_callback_
+#define _di_f_thread_barrier_fullss_t_
 #define _di_f_thread_barrier_t_
 #define _di_f_thread_barrier_wait_
 #define _di_f_thread_barriers_delete_callback_
 #define _di_f_thread_barriers_t_
 #define _di_f_thread_barrierss_delete_callback_
 #define _di_f_thread_barrierss_destroy_callback_
+#define _di_f_thread_barrierss_t_
 #define _di_f_thread_caller_
 #define _di_f_thread_cancel_
+#define _di_f_thread_cancel_d_
 #define _di_f_thread_cancel_state_set_
 #define _di_f_thread_cancel_test_
 #define _di_f_thread_cancel_type_set_
 #define _di_f_thread_condition_attributes_t_
 #define _di_f_thread_condition_attributess_delete_callback_
 #define _di_f_thread_condition_attributess_destroy_callback_
+#define _di_f_thread_condition_attributess_t_
 #define _di_f_thread_condition_create_
 #define _di_f_thread_condition_delete_
+#define _di_f_thread_condition_full_delete_
+#define _di_f_thread_condition_full_t_
+#define _di_f_thread_condition_fulls_delete_callback_
+#define _di_f_thread_condition_fulls_destroy_callback_
+#define _di_f_thread_condition_fulls_t_
+#define _di_f_thread_condition_fullss_delete_callback_
+#define _di_f_thread_condition_fullss_destroy_callback_
+#define _di_f_thread_condition_fullss_t_
 #define _di_f_thread_condition_signal_
 #define _di_f_thread_condition_signal_all_
 #define _di_f_thread_condition_t_
 #define _di_f_thread_conditions_t_
 #define _di_f_thread_conditionss_delete_callback_
 #define _di_f_thread_conditionss_destroy_callback_
+#define _di_f_thread_conditionss_t_
 #define _di_f_thread_create_
 #define _di_f_thread_detach_
 #define _di_f_thread_exit_
 #define _di_f_thread_id_t_
+#define _di_f_thread_ids_delete_callback_
+#define _di_f_thread_ids_destroy_callback_
 #define _di_f_thread_ids_t_
+#define _di_f_thread_idss_delete_callback_
+#define _di_f_thread_idss_destroy_callback_
+#define _di_f_thread_idss_t_
 #define _di_f_thread_join_
 #define _di_f_thread_join_timed_
 #define _di_f_thread_join_try_
 #define _di_f_thread_keys_t_
 #define _di_f_thread_keyss_delete_callback_
 #define _di_f_thread_keyss_destroy_callback_
+#define _di_f_thread_keyss_t_
 #define _di_f_thread_lock_attribute_create_
 #define _di_f_thread_lock_attribute_delete_
 #define _di_f_thread_lock_attribute_shared_get_
 #define _di_f_thread_lock_attributes_t_
 #define _di_f_thread_lock_attributess_delete_callback_
 #define _di_f_thread_lock_attributess_destroy_callback_
+#define _di_f_thread_lock_attributess_t_
 #define _di_f_thread_lock_create_
 #define _di_f_thread_lock_delete_
+#define _di_f_thread_lock_full_delete_
+#define _di_f_thread_lock_full_t_
+#define _di_f_thread_lock_fulls_delete_callback_
+#define _di_f_thread_lock_fulls_destroy_callback_
+#define _di_f_thread_lock_fulls_t_
+#define _di_f_thread_lock_fullss_delete_callback_
+#define _di_f_thread_lock_fullss_destroy_callback_
+#define _di_f_thread_lock_fullss_t_
 #define _di_f_thread_lock_read_
 #define _di_f_thread_lock_read_timed_
 #define _di_f_thread_lock_read_try_
 #define _di_f_thread_locks_t_
 #define _di_f_thread_lockss_delete_callback_
 #define _di_f_thread_lockss_destroy_callback_
+#define _di_f_thread_lockss_t_
 #define _di_f_thread_mutex_attribute_create_
 #define _di_f_thread_mutex_attribute_delete_
 #define _di_f_thread_mutex_attribute_priority_ceiling_get_
 #define _di_f_thread_mutex_attribute_robust_set_
 #define _di_f_thread_mutex_attribute_shared_get_
 #define _di_f_thread_mutex_attribute_shared_set_
-#define _di_f_thread_mutex_attribute_d_
 #define _di_f_thread_mutex_attribute_t_
 #define _di_f_thread_mutex_attribute_type_get_
 #define _di_f_thread_mutex_attribute_type_set_
 #define _di_f_thread_mutex_attributes_t_
 #define _di_f_thread_mutex_attributess_delete_callback_
 #define _di_f_thread_mutex_attributess_destroy_callback_
+#define _di_f_thread_mutex_attributess_t_
 #define _di_f_thread_mutex_consistent_
 #define _di_f_thread_mutex_create_
 #define _di_f_thread_mutex_d_
 #define _di_f_thread_mutex_delete_
+#define _di_f_thread_mutex_full_delete_
+#define _di_f_thread_mutex_full_t_
+#define _di_f_thread_mutex_fulls_delete_callback_
+#define _di_f_thread_mutex_fulls_destroy_callback_
+#define _di_f_thread_mutex_fulls_t_
+#define _di_f_thread_mutex_fullss_delete_callback_
+#define _di_f_thread_mutex_fullss_destroy_callback_
+#define _di_f_thread_mutex_fullss_t_
 #define _di_f_thread_mutex_lock_
 #define _di_f_thread_mutex_lock_timed_
 #define _di_f_thread_mutex_lock_try_
 #define _di_f_thread_mutex_priority_ceiling_get_
 #define _di_f_thread_mutex_priority_ceiling_set_
+#define _di_f_thread_mutex_protocol_d_
+#define _di_f_thread_mutex_robust_d_
 #define _di_f_thread_mutex_t_
+#define _di_f_thread_mutex_type_d_
 #define _di_f_thread_mutex_unlock_
 #define _di_f_thread_mutexs_delete_callback_
 #define _di_f_thread_mutexs_destroy_callback_
 #define _di_f_thread_mutexs_t_
 #define _di_f_thread_mutexss_delete_callback_
 #define _di_f_thread_mutexss_destroy_callback_
+#define _di_f_thread_mutexss_t_
+#define _di_f_thread_name_get_
+#define _di_f_thread_name_set_
 #define _di_f_thread_once_
 #define _di_f_thread_once_t_
 #define _di_f_thread_onces_t_
+#define _di_f_thread_oncess_t_
+#define _di_f_thread_process_d_
+#define _di_f_thread_schedule_d_
 #define _di_f_thread_scheduler_parameter_get_
 #define _di_f_thread_scheduler_parameter_set_
 #define _di_f_thread_scheduler_priority_set_
+#define _di_f_thread_scope_d_
 #define _di_f_thread_semaphore_create_
 #define _di_f_thread_semaphore_delete_
 #define _di_f_thread_semaphore_file_close_
 #define _di_f_thread_semaphores_t_
 #define _di_f_thread_semaphoress_delete_callback_
 #define _di_f_thread_semaphoress_destroy_callback_
+#define _di_f_thread_semaphoress_t_
 #define _di_f_thread_set_t_
 #define _di_f_thread_sets_delete_callback_
 #define _di_f_thread_sets_destroy_callback_
 #define _di_f_thread_sets_t_
 #define _di_f_thread_setss_delete_callback_
 #define _di_f_thread_setss_destroy_callback_
+#define _di_f_thread_setss_t_
 #define _di_f_thread_signal_mask_
 #define _di_f_thread_signal_queue_
 #define _di_f_thread_signal_write_
 #define _di_f_thread_spins_t_
 #define _di_f_thread_spinss_delete_callback_
 #define _di_f_thread_spinss_destroy_callback_
+#define _di_f_thread_spinss_t_
 #define _di_f_thread_unlock_
index a9606d725eea4492ff0922a40d576c37e301ae16..0906e755de8f109da24eb3795f9055ed3e270d08 100644 (file)
@@ -7,7 +7,9 @@
 #define _di_f_fll_idss_delete_callback_
 #define _di_f_fll_idss_destroy_callback_
 #define _di_f_gidss_delete_callback_
+#define _di_f_gidss_destroy_callback_
 #define _di_f_idss_delete_callback_
+#define _di_f_idss_destroy_callback_
 #define _di_f_int128ss_delete_callback_
 #define _di_f_int128ss_destroy_callback_
 #define _di_f_int16ss_delete_callback_
@@ -51,6 +53,7 @@
 #define _di_f_statess_destroy_callback_
 #define _di_f_statusss_delete_callback_
 #define _di_f_statusss_destroy_callback_
+#define _di_f_uidss_delete_callback_
 #define _di_f_uidss_destroy_callback_
 #define _di_f_uint128ss_delete_callback_
 #define _di_f_uint128ss_destroy_callback_
index 0dfad5c540ba1fef9e8c8d1640766997967ea33c..56677ab3e320f204980c004a064f5cdce29f80a4 100644 (file)
 #define _di_f_utf_string_prepend_assure_nulless_
 #define _di_f_utf_string_prepend_nulless_
 #define _di_f_utf_string_seek_line_
-#define _di_f_utf_string_seek_line_back
 #define _di_f_utf_string_seek_line_back_
 #define _di_f_utf_string_seek_line_to_
 #define _di_f_utf_string_seek_line_to_back_
index 5f7cbc7b6fa05c93dfb2c6246906c03554a2a4f0..5fb64c88bb58648b73eb5d4affc9f3038f67e7e4 100644 (file)
@@ -90,6 +90,7 @@ build_sources_library utf/private-dynamics.c utf/private-maps.c utf/private-map_
 build_sources_library-thread thread.c
 build_sources_library-thread thread/attribute.c thread/attributes.c thread/attributess.c
 build_sources_library-thread thread/barrier.c thread/barriers.c thread/barrierss.c thread/barrier_attribute.c thread/barrier_attributes.c thread/barrier_attributess.c thread/barrier_full.c thread/barrier_fulls.c thread/barrier_fullss.c
+build_sources_library-thread thread/common.c
 build_sources_library-thread thread/condition.c thread/conditions.c thread/conditionss.c thread/condition_attribute.c thread/condition_attributes.c thread/condition_attributess.c thread/condition_full.c thread/condition_fulls.c thread/condition_fullss.c
 build_sources_library-thread thread/id.c thread/ids.c thread/idss.c
 build_sources_library-thread thread/key.c thread/keys.c thread/keyss.c
@@ -142,6 +143,7 @@ build_sources_headers utf.h utf/common.h utf/convert.h utf/dynamic.h utf/dynamic
 build_sources_headers-thread thread.h
 build_sources_headers-thread thread/attribute.h thread/attributes.h thread/attributess.h
 build_sources_headers-thread thread/barrier.h thread/barriers.h thread/barrierss.h thread/barrier_attribute.h thread/barrier_attributes.h thread/barrier_attributess.h thread/barrier_full.h thread/barrier_fulls.h thread/barrier_fullss.h
+build_sources_headers-thread thread/common.h
 build_sources_headers-thread thread/condition.h thread/conditions.h thread/conditionss.h thread/condition_attribute.h thread/condition_attributes.h thread/condition_attributess.h thread/condition_full.h thread/condition_fulls.h thread/condition_fullss.h
 build_sources_headers-thread thread/id.h thread/ids.h thread/idss.h
 build_sources_headers-thread thread/key.h thread/keys.h thread/keyss.h
index 00a924795aa8a76c38e6a12f40f49cfe45928f7f..cd90fc060e514664c7ebbaeb4c9317e424343c28 100644 (file)
@@ -111,6 +111,7 @@ build_sources_library level_2/program.c level_2/program/common.c level_2/program
 build_sources_library-thread level_0/thread.c
 build_sources_library-thread level_0/thread/attribute.c level_0/thread/attributes.c level_0/thread/attributess.c
 build_sources_library-thread level_0/thread/barrier.c level_0/thread/barriers.c level_0/thread/barrierss.c level_0/thread/barrier_attribute.c level_0/thread/barrier_attributes.c level_0/thread/barrier_attributess.c level_0/thread/barrier_full.c level_0/thread/barrier_fulls.c level_0/thread/barrier_fullss.c
+build_sources_library-thread level_0/thread/common.c
 build_sources_library-thread level_0/thread/condition.c level_0/thread/conditions.c level_0/thread/conditionss.c level_0/thread/condition_attribute.c level_0/thread/condition_attributes.c level_0/thread/condition_attributess.c level_0/thread/condition_full.c level_0/thread/condition_fulls.c level_0/thread/condition_fullss.c
 build_sources_library-thread level_0/thread/id.c level_0/thread/ids.c level_0/thread/idss.c
 build_sources_library-thread level_0/thread/key.c level_0/thread/keys.c level_0/thread/keyss.c
@@ -185,6 +186,7 @@ build_sources_headers level_2/program.h level_2/program/common.h level_2/program
 build_sources_headers-thread level_0/thread.h
 build_sources_headers-thread level_0/thread/attribute.h level_0/thread/attributes.h level_0/thread/attributess.h
 build_sources_headers-thread level_0/thread/barrier.h level_0/thread/barriers.h level_0/thread/barrierss.h level_0/thread/barrier_attribute.h level_0/thread/barrier_attributes.h level_0/thread/barrier_attributess.h level_0/thread/barrier_full.h level_0/thread/barrier_fulls.h level_0/thread/barrier_fullss.h
+build_sources_headers-thread level_0/thread/common.h
 build_sources_headers-thread level_0/thread/condition.h level_0/thread/conditions.h level_0/thread/conditionss.h level_0/thread/condition_attribute.h level_0/thread/condition_attributes.h level_0/thread/condition_attributess.h level_0/thread/condition_full.h level_0/thread/condition_fulls.h level_0/thread/condition_fullss.h
 build_sources_headers-thread level_0/thread/id.h level_0/thread/ids.h level_0/thread/idss.h
 build_sources_headers-thread level_0/thread/key.h level_0/thread/keys.h level_0/thread/keyss.h
index d5d142632d064ad66405a672a8245db3355de741..e0020ad7876563bb429e818737c2a7c67bd32875 100644 (file)
 #define _di_f_thread_barrierss_t_
 #define _di_f_thread_caller_
 //#define _di_f_thread_cancel_
+#define _di_f_thread_cancel_d_
 //#define _di_f_thread_cancel_state_set_
 #define _di_f_thread_cancel_test_
 #define _di_f_thread_cancel_type_set_
 #define _di_f_thread_lockss_destroy_callback_
 #define _di_f_thread_lockss_t_
 #define _di_f_thread_mutex_attribute_create_
-#define _di_f_thread_mutex_attribute_d_
 #define _di_f_thread_mutex_attribute_delete_
 #define _di_f_thread_mutex_attribute_priority_ceiling_get_
 #define _di_f_thread_mutex_attribute_priority_ceiling_set_
 #define _di_f_thread_mutex_lock_try_
 #define _di_f_thread_mutex_priority_ceiling_get_
 #define _di_f_thread_mutex_priority_ceiling_set_
+#define _di_f_thread_mutex_protocol_d_
+#define _di_f_thread_mutex_robust_d_
 #define _di_f_thread_mutex_t_
+#define _di_f_thread_mutex_type_d_
 #define _di_f_thread_mutex_unlock_
 #define _di_f_thread_mutexs_delete_callback_
 #define _di_f_thread_mutexs_destroy_callback_
 #define _di_f_thread_once_t_
 #define _di_f_thread_onces_t_
 #define _di_f_thread_oncess_t_
+#define _di_f_thread_process_d_
+#define _di_f_thread_schedule_d_
 #define _di_f_thread_scheduler_parameter_get_
 #define _di_f_thread_scheduler_parameter_set_
 #define _di_f_thread_scheduler_priority_set_
+#define _di_f_thread_scope_d_
 #define _di_f_thread_semaphore_create_
 #define _di_f_thread_semaphore_delete_
 #define _di_f_thread_semaphore_file_close_
index d4671e58aef96b7ced9e1a0fb05adf24b543de21..75304c27a16f58be98c3ec9c16f04f831eabcf0c 100644 (file)
@@ -57,6 +57,7 @@ build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private
 build_sources_program-thread fll/level_0/thread.c
 build_sources_program-thread fll/level_0/thread/attribute.c fll/level_0/thread/attributes.c fll/level_0/thread/attributess.c
 build_sources_program-thread fll/level_0/thread/barrier.c fll/level_0/thread/barriers.c fll/level_0/thread/barrierss.c fll/level_0/thread/barrier_attribute.c fll/level_0/thread/barrier_attributes.c fll/level_0/thread/barrier_attributess.c fll/level_0/thread/barrier_full.c fll/level_0/thread/barrier_fulls.c fll/level_0/thread/barrier_fullss.c
+build_sources_program-thread fll/level_0/thread/common.c
 build_sources_program-thread fll/level_0/thread/condition.c fll/level_0/thread/conditions.c fll/level_0/thread/conditionss.c fll/level_0/thread/condition_attribute.c fll/level_0/thread/condition_attributes.c fll/level_0/thread/condition_attributess.c fll/level_0/thread/condition_full.c fll/level_0/thread/condition_fulls.c fll/level_0/thread/condition_fullss.c
 build_sources_program-thread fll/level_0/thread/id.c fll/level_0/thread/ids.c fll/level_0/thread/idss.c
 build_sources_program-thread fll/level_0/thread/key.c fll/level_0/thread/keys.c fll/level_0/thread/keyss.c
index ebb8cf1d75c903875a3e30ac1d8628cfaccfcb06..ec55be23c65f48b79478d8f6ca19c09cbad51fcc 100644 (file)
 #define _di_f_thread_barrierss_t_
 #define _di_f_thread_caller_
 //#define _di_f_thread_cancel_
+#define _di_f_thread_cancel_d_
 //#define _di_f_thread_cancel_state_set_
 #define _di_f_thread_cancel_test_
 #define _di_f_thread_cancel_type_set_
 #define _di_f_thread_lockss_destroy_callback_
 #define _di_f_thread_lockss_t_
 #define _di_f_thread_mutex_attribute_create_
-#define _di_f_thread_mutex_attribute_d_
 #define _di_f_thread_mutex_attribute_delete_
 #define _di_f_thread_mutex_attribute_priority_ceiling_get_
 #define _di_f_thread_mutex_attribute_priority_ceiling_set_
 #define _di_f_thread_mutex_lock_try_
 #define _di_f_thread_mutex_priority_ceiling_get_
 #define _di_f_thread_mutex_priority_ceiling_set_
+#define _di_f_thread_mutex_protocol_d_
+#define _di_f_thread_mutex_robust_d_
 #define _di_f_thread_mutex_t_
+#define _di_f_thread_mutex_type_d_
 #define _di_f_thread_mutex_unlock_
 #define _di_f_thread_mutexs_delete_callback_
 #define _di_f_thread_mutexs_destroy_callback_
 #define _di_f_thread_once_t_
 #define _di_f_thread_onces_t_
 #define _di_f_thread_oncess_t_
+#define _di_f_thread_process_d_
+#define _di_f_thread_schedule_d_
 #define _di_f_thread_scheduler_parameter_get_
 #define _di_f_thread_scheduler_parameter_set_
 #define _di_f_thread_scheduler_priority_set_
+#define _di_f_thread_scope_d_
 #define _di_f_thread_semaphore_create_
 #define _di_f_thread_semaphore_delete_
 #define _di_f_thread_semaphore_file_close_
index 06caba10b4cadd045d10d1949c7a664d01e9f75f..2543aa6f183a855ff7bb26d72a5151de616f3619 100644 (file)
@@ -57,6 +57,7 @@ build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private
 build_sources_program-thread fll/level_0/thread.c
 build_sources_program-thread fll/level_0/thread/attribute.c fll/level_0/thread/attributes.c fll/level_0/thread/attributess.c
 build_sources_program-thread fll/level_0/thread/barrier.c fll/level_0/thread/barriers.c fll/level_0/thread/barrierss.c fll/level_0/thread/barrier_attribute.c fll/level_0/thread/barrier_attributes.c fll/level_0/thread/barrier_attributess.c fll/level_0/thread/barrier_full.c fll/level_0/thread/barrier_fulls.c fll/level_0/thread/barrier_fullss.c
+build_sources_program-thread fll/level_0/thread/common.c
 build_sources_program-thread fll/level_0/thread/condition.c fll/level_0/thread/conditions.c fll/level_0/thread/conditionss.c fll/level_0/thread/condition_attribute.c fll/level_0/thread/condition_attributes.c fll/level_0/thread/condition_attributess.c fll/level_0/thread/condition_full.c fll/level_0/thread/condition_fulls.c fll/level_0/thread/condition_fullss.c
 build_sources_program-thread fll/level_0/thread/id.c fll/level_0/thread/ids.c fll/level_0/thread/idss.c
 build_sources_program-thread fll/level_0/thread/key.c fll/level_0/thread/keys.c fll/level_0/thread/keyss.c
index f97510eb9181d88f43c6b6050deec41b79558af9..aeb005a80884a53a71094b74c24ac756a2dcf233 100644 (file)
 #define _di_f_thread_barrierss_t_
 #define _di_f_thread_caller_
 //#define _di_f_thread_cancel_
+#define _di_f_thread_cancel_d_
 //#define _di_f_thread_cancel_state_set_
 #define _di_f_thread_cancel_test_
 #define _di_f_thread_cancel_type_set_
 #define _di_f_thread_lockss_destroy_callback_
 #define _di_f_thread_lockss_t_
 #define _di_f_thread_mutex_attribute_create_
-#define _di_f_thread_mutex_attribute_d_
 #define _di_f_thread_mutex_attribute_delete_
 #define _di_f_thread_mutex_attribute_priority_ceiling_get_
 #define _di_f_thread_mutex_attribute_priority_ceiling_set_
 #define _di_f_thread_mutex_attribute_robust_set_
 #define _di_f_thread_mutex_attribute_shared_get_
 #define _di_f_thread_mutex_attribute_shared_set_
-#define _di_f_thread_mutex_attribute_t_
+//#define _di_f_thread_mutex_attribute_t_
 #define _di_f_thread_mutex_attribute_type_get_
 #define _di_f_thread_mutex_attribute_type_set_
 #define _di_f_thread_mutex_attributes_delete_callback_
 #define _di_f_thread_mutex_lock_try_
 #define _di_f_thread_mutex_priority_ceiling_get_
 #define _di_f_thread_mutex_priority_ceiling_set_
+#define _di_f_thread_mutex_protocol_d_
+#define _di_f_thread_mutex_robust_d_
 #define _di_f_thread_mutex_t_
+#define _di_f_thread_mutex_type_d_
 #define _di_f_thread_mutex_unlock_
 #define _di_f_thread_mutexs_delete_callback_
 #define _di_f_thread_mutexs_destroy_callback_
 #define _di_f_thread_once_t_
 #define _di_f_thread_onces_t_
 #define _di_f_thread_oncess_t_
+#define _di_f_thread_process_d_
+#define _di_f_thread_schedule_d_
 #define _di_f_thread_scheduler_parameter_get_
 #define _di_f_thread_scheduler_parameter_set_
 #define _di_f_thread_scheduler_priority_set_
+#define _di_f_thread_scope_d_
 #define _di_f_thread_semaphore_create_
 #define _di_f_thread_semaphore_delete_
 #define _di_f_thread_semaphore_file_close_
index f1282101a6fdbea8a87aaef8beb1b13d0a7a8a91..12d8e36ff7cd0f0e5efcf70e50ccf464f955f39e 100644 (file)
@@ -71,6 +71,7 @@ build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private
 build_sources_program-thread fll/level_0/thread.c
 build_sources_program-thread fll/level_0/thread/attribute.c fll/level_0/thread/attributes.c fll/level_0/thread/attributess.c
 build_sources_program-thread fll/level_0/thread/barrier.c fll/level_0/thread/barriers.c fll/level_0/thread/barrierss.c fll/level_0/thread/barrier_attribute.c fll/level_0/thread/barrier_attributes.c fll/level_0/thread/barrier_attributess.c fll/level_0/thread/barrier_full.c fll/level_0/thread/barrier_fulls.c fll/level_0/thread/barrier_fullss.c
+build_sources_program-thread fll/level_0/thread/common.c
 build_sources_program-thread fll/level_0/thread/condition.c fll/level_0/thread/conditions.c fll/level_0/thread/conditionss.c fll/level_0/thread/condition_attribute.c fll/level_0/thread/condition_attributes.c fll/level_0/thread/condition_attributess.c fll/level_0/thread/condition_full.c fll/level_0/thread/condition_fulls.c fll/level_0/thread/condition_fullss.c
 build_sources_program-thread fll/level_0/thread/id.c fll/level_0/thread/ids.c fll/level_0/thread/idss.c
 build_sources_program-thread fll/level_0/thread/key.c fll/level_0/thread/keys.c fll/level_0/thread/keyss.c
index 5dcd7cc00f23be52775fdedff0d2ee50c58e657c..05101ee965d5d846cdf1627a3c55a38e28c033e4 100644 (file)
 #define _di_f_thread_barrierss_t_
 #define _di_f_thread_caller_
 //#define _di_f_thread_cancel_
+#define _di_f_thread_cancel_d_
 //#define _di_f_thread_cancel_state_set_
 #define _di_f_thread_cancel_test_
 #define _di_f_thread_cancel_type_set_
 #define _di_f_thread_lockss_destroy_callback_
 #define _di_f_thread_lockss_t_
 #define _di_f_thread_mutex_attribute_create_
-#define _di_f_thread_mutex_attribute_d_
 #define _di_f_thread_mutex_attribute_delete_
 #define _di_f_thread_mutex_attribute_priority_ceiling_get_
 #define _di_f_thread_mutex_attribute_priority_ceiling_set_
 #define _di_f_thread_mutex_lock_try_
 #define _di_f_thread_mutex_priority_ceiling_get_
 #define _di_f_thread_mutex_priority_ceiling_set_
+#define _di_f_thread_mutex_protocol_d_
+#define _di_f_thread_mutex_robust_d_
 #define _di_f_thread_mutex_t_
+#define _di_f_thread_mutex_type_d_
 #define _di_f_thread_mutex_unlock_
 #define _di_f_thread_mutexs_delete_callback_
 #define _di_f_thread_mutexs_destroy_callback_
 #define _di_f_thread_once_t_
 #define _di_f_thread_onces_t_
 #define _di_f_thread_oncess_t_
+#define _di_f_thread_process_d_
+#define _di_f_thread_schedule_d_
 #define _di_f_thread_scheduler_parameter_get_
 #define _di_f_thread_scheduler_parameter_set_
 #define _di_f_thread_scheduler_priority_set_
+#define _di_f_thread_scope_d_
 #define _di_f_thread_semaphore_create_
 #define _di_f_thread_semaphore_delete_
 #define _di_f_thread_semaphore_file_close_
index f0d3f3beb0064d60b979d0f7cff0f7b310304108..04ce9ba02d3cf0d09972188b099e6ad5b58adfa4 100644 (file)
@@ -68,6 +68,7 @@ build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private
 build_sources_program-thread fll/level_0/thread.c
 build_sources_program-thread fll/level_0/thread/attribute.c fll/level_0/thread/attributes.c fll/level_0/thread/attributess.c
 build_sources_program-thread fll/level_0/thread/barrier.c fll/level_0/thread/barriers.c fll/level_0/thread/barrierss.c fll/level_0/thread/barrier_attribute.c fll/level_0/thread/barrier_attributes.c fll/level_0/thread/barrier_attributess.c fll/level_0/thread/barrier_full.c fll/level_0/thread/barrier_fulls.c fll/level_0/thread/barrier_fullss.c
+build_sources_program-thread fll/level_0/thread/common.c
 build_sources_program-thread fll/level_0/thread/condition.c fll/level_0/thread/conditions.c fll/level_0/thread/conditionss.c fll/level_0/thread/condition_attribute.c fll/level_0/thread/condition_attributes.c fll/level_0/thread/condition_attributess.c fll/level_0/thread/condition_full.c fll/level_0/thread/condition_fulls.c fll/level_0/thread/condition_fullss.c
 build_sources_program-thread fll/level_0/thread/id.c fll/level_0/thread/ids.c fll/level_0/thread/idss.c
 build_sources_program-thread fll/level_0/thread/key.c fll/level_0/thread/keys.c fll/level_0/thread/keyss.c
index 3e57821f80b7b1be1faddd9b3c88f87b4a44c57f..de55beaa8391f82fd279272238568a3327ba2c02 100644 (file)
 #define _di_f_thread_barrierss_t_
 #define _di_f_thread_caller_
 //#define _di_f_thread_cancel_
+#define _di_f_thread_cancel_d_
 //#define _di_f_thread_cancel_state_set_
 #define _di_f_thread_cancel_test_
 #define _di_f_thread_cancel_type_set_
 #define _di_f_thread_lockss_destroy_callback_
 #define _di_f_thread_lockss_t_
 #define _di_f_thread_mutex_attribute_create_
-#define _di_f_thread_mutex_attribute_d_
 #define _di_f_thread_mutex_attribute_delete_
 #define _di_f_thread_mutex_attribute_priority_ceiling_get_
 #define _di_f_thread_mutex_attribute_priority_ceiling_set_
 #define _di_f_thread_mutex_lock_try_
 #define _di_f_thread_mutex_priority_ceiling_get_
 #define _di_f_thread_mutex_priority_ceiling_set_
+#define _di_f_thread_mutex_protocol_d_
+#define _di_f_thread_mutex_robust_d_
 #define _di_f_thread_mutex_t_
+#define _di_f_thread_mutex_type_d_
 #define _di_f_thread_mutex_unlock_
 #define _di_f_thread_mutexs_delete_callback_
 #define _di_f_thread_mutexs_destroy_callback_
 #define _di_f_thread_once_t_
 #define _di_f_thread_onces_t_
 #define _di_f_thread_oncess_t_
+#define _di_f_thread_process_d_
+#define _di_f_thread_schedule_d_
 #define _di_f_thread_scheduler_parameter_get_
 #define _di_f_thread_scheduler_parameter_set_
 #define _di_f_thread_scheduler_priority_set_
+#define _di_f_thread_scope_d_
 #define _di_f_thread_semaphore_create_
 #define _di_f_thread_semaphore_delete_
 #define _di_f_thread_semaphore_file_close_
index a10c8414514a51c7a274edc021acbdd03f7fb745..1b28a5ed49b5fb1c20af94de882102eb5f5cec08 100644 (file)
@@ -58,6 +58,7 @@ build_sources_program fll/level_0/utf/private-dynamics.c fll/level_0/utf/private
 build_sources_program-thread fll/level_0/thread.c
 build_sources_program-thread fll/level_0/thread/attribute.c fll/level_0/thread/attributes.c fll/level_0/thread/attributess.c
 build_sources_program-thread fll/level_0/thread/barrier.c fll/level_0/thread/barriers.c fll/level_0/thread/barrierss.c fll/level_0/thread/barrier_attribute.c fll/level_0/thread/barrier_attributes.c fll/level_0/thread/barrier_attributess.c fll/level_0/thread/barrier_full.c fll/level_0/thread/barrier_fulls.c fll/level_0/thread/barrier_fullss.c
+build_sources_program-thread fll/level_0/thread/common.c
 build_sources_program-thread fll/level_0/thread/condition.c fll/level_0/thread/conditions.c fll/level_0/thread/conditionss.c fll/level_0/thread/condition_attribute.c fll/level_0/thread/condition_attributes.c fll/level_0/thread/condition_attributess.c fll/level_0/thread/condition_full.c fll/level_0/thread/condition_fulls.c fll/level_0/thread/condition_fullss.c
 build_sources_program-thread fll/level_0/thread/id.c fll/level_0/thread/ids.c fll/level_0/thread/idss.c
 build_sources_program-thread fll/level_0/thread/key.c fll/level_0/thread/keys.c fll/level_0/thread/keyss.c
index 8838f2846f3412d6f6977adeaf70616fd583c313..c85edb577752d3f3e65fd5d6b5e233ee5f4c6b01 100644 (file)
@@ -32,6 +32,7 @@
 #include <fll/level_0/string.h>
 
 // FLL-0 thread includes.
+#include <fll/level_0/thread/common.h>
 #include <fll/level_0/thread/attribute.h>
 #include <fll/level_0/thread/attributes.h>
 #include <fll/level_0/thread/attributess.h>
diff --git a/level_0/f_thread/c/thread/common.c b/level_0/f_thread/c/thread/common.c
new file mode 100644 (file)
index 0000000..1443b36
--- /dev/null
@@ -0,0 +1,9 @@
+#include "../thread.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
diff --git a/level_0/f_thread/c/thread/common.h b/level_0/f_thread/c/thread/common.h
new file mode 100644 (file)
index 0000000..5a3d637
--- /dev/null
@@ -0,0 +1,115 @@
+/**
+ * FLL - Level 0
+ *
+ * Project: Thread
+ * API Version: 0.7
+ * Licenses: lgpl-2.1-or-later
+ *
+ * Defines common data to be used for/by POSIX thread related functionality.
+ *
+ * This is auto-included by thread.h and should not need to be explicitly included.
+ */
+#ifndef _F_thread_common_h
+#define _F_thread_common_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Thread cancel defines.
+ *
+ * f_thread_cancel_*_d:
+ *   - asynchronous: Thread can be cancelled at any time.
+ *   - defer:        Thread is only cancellable at a cancellation point.
+ *   - disable:      Disable thread cancellation.
+ *   - enable:       Enable thread cancellation.
+ */
+#ifndef _di_f_thread_cancel_d_
+  #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
+  #define f_thread_cancel_enable_d       PTHREAD_CANCEL_ENABLE
+#endif // _di_f_thread_cancel_d_
+
+/**
+ * Thread mutex attribute protocol defines.
+ *
+ * f_thread_mutex_protocol_*_d:
+ *   - inherit: Use inherit protocol; operate using the highest priority of everything currently holding the lock.
+ *   - none:    No special protocol; priority and scheduling are unaffected by thread ownership.
+ *   - protect: Use protect protocol; use explicitly defined priority ceiling settings.
+ */
+#ifndef _di_f_thread_mutex_protocol_d_
+  #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
+#endif // _di_f_thread_mutex_protocol_d_
+
+/**
+ * Thread mutex attribute robust defines.
+ *
+ * f_thread_mutex_robust_*_d:
+ *   - okay:    The thread is considered to be in a robust state.
+ *   - stalled: The thread is considered to be in a stalled state.
+ */
+#ifndef _di_f_thread_mutex_robust_d_
+  #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_
+
+/**
+ * Thread mutex attribute type defines.
+ *
+ * f_thread_mutex_type_*_d:
+ *   - error_check: Handle deadlock and ownership detection and return on error.
+ *   - normal:      The normal mutex type (also the default type and is the POSIX standard compliant version of PTHREAD_MUTEX_DEFAULT).
+ *   - recursive:   Recursive lock (uses a count on locks, mutexs become unlocked when count is 0).
+ */
+#ifndef _di_f_thread_mutex_type_d_
+  #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
+#endif // _di_f_thread_mutex_type_d_
+
+/**
+ * Thread process defines.
+ *
+ * f_thread_process_*_d:
+ *   - private: The mutex is shared only with other threads in the same process.
+ *   - shared:  The mutex is shared between any threads with memory access to the mutex object (even across processes).
+ */
+#ifndef _di_f_thread_process_d_
+  #define f_thread_process_private_d PTHREAD_PROCESS_PRIVATE
+  #define f_thread_process_shared_d  PTHREAD_PROCESS_SHARED
+#endif // _di_f_thread_process_d_
+
+/**
+ * Thread scheduler defines.
+ *
+ * f_thread_schedule_*_d:
+ *   - explicit: Use the explicitly assigned scheduling.
+ *   - inherit:  Use the scheduling from a parent thread or process.
+ */
+#ifndef _di_f_thread_schedule_d_
+  #define f_thread_schedule_explicit_d PTHREAD_EXPLICIT_SCHED
+  #define f_thread_schedule_inherit_d  PTHREAD_INHERIT_SCHED
+#endif // _di_f_thread_schedule_d_
+
+/**
+ * Thread scope defines.
+ *
+ * f_thread_scope_*_d:
+ *   - process: The thread vies for resources with all threads in the same process with the same contention scope.
+ *   - system:  The thread vies for resources with all processes on the system with the same scheduling domain.
+ */
+#ifndef _di_f_thread_scope_d_
+  #define f_thread_scope_process_d PTHREAD_SCOPE_PROCESS
+  #define f_thread_scope_system_d  PTHREAD_SCOPE_SYSTEM
+#endif // _di_f_thread_scope_d_
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif // _F_thread_common_h
index 4cfbb3223d2300cb49341a548a5879281fd8ad3a..ce23e6abe2f376ab9b6ad0b9a9e0178eae2267ff 100644 (file)
@@ -17,20 +17,6 @@ extern "C" {
 #endif
 
 /**
- * Mutex attribute defines.
- *
- * f_thread_mutex_attribute_*_d:
- *   - error_check: Handle deadlock and ownership detection and return on error.
- *   - normal:      The normal mutex type (also the default type and is the POSIX standard compliant version of PTHREAD_MUTEX_DEFAULT).
- *   - recursive:   Recursive lock (uses a count on locks, mutexs become unlocked when count is 0).
- */
-#ifndef _di_f_thread_mutex_attribute_d_
-  #define f_thread_mutex_attribute_error_check_d PTHREAD_MUTEX_ERRORCHECK
-  #define f_thread_mutex_attribute_normal_d      PTHREAD_MUTEX_RECURSIVE
-  #define f_thread_mutex_attribute_recursive_d   PTHREAD_MUTEX_NORMAL
-#endif // _di_f_thread_mutex_attribute_d_
-
-/**
  * A typedef representing pthread_mutex_attribute_t.
  */
 #ifndef _di_f_thread_mutex_attribute_t_
index 8caa853a7d09c6840296fb5b9b139d542a77860b..a1667be17fbb43fd416e784d287e2c61afa5d4e8 100644 (file)
@@ -44,6 +44,7 @@ build_libraries_static-individual -l:libf_memory.a -l:libf_string.a
 build_sources_library thread.c
 build_sources_library thread/attribute.c thread/attributes.c thread/attributess.c
 build_sources_library thread/barrier.c thread/barriers.c thread/barrierss.c thread/barrier_attribute.c thread/barrier_attributes.c thread/barrier_attributess.c thread/barrier_full.c thread/barrier_fulls.c thread/barrier_fullss.c
+build_sources_library thread/common.c
 build_sources_library thread/condition.c thread/conditions.c thread/conditionss.c thread/condition_attribute.c thread/condition_attributes.c thread/condition_attributess.c thread/condition_full.c thread/condition_fulls.c thread/condition_fullss.c
 build_sources_library thread/id.c thread/ids.c thread/idss.c
 build_sources_library thread/key.c thread/keys.c thread/keyss.c
@@ -57,6 +58,7 @@ build_sources_library thread/spin.c thread/spins.c thread/spinss.c
 build_sources_headers thread.h
 build_sources_headers thread/attribute.h thread/attributes.h thread/attributess.h
 build_sources_headers thread/barrier.h thread/barriers.h thread/barrierss.h thread/barrier_attribute.h thread/barrier_attributes.h thread/barrier_attributess.h thread/barrier_full.h thread/barrier_fulls.h thread/barrier_fullss.h
+build_sources_headers thread/common.h
 build_sources_headers thread/condition.h thread/conditions.h thread/conditionss.h thread/condition_attribute.h thread/condition_attributes.h thread/condition_attributess.h thread/condition_full.h thread/condition_fulls.h thread/condition_fullss.h
 build_sources_headers thread/id.h thread/ids.h thread/idss.h
 build_sources_headers thread/key.h thread/keys.h thread/keyss.h
index 7c08f7647efee8e4bcd3856107584b4944cf08b6..a4048e7d087ee2803db6d5dad58dff46c13e9aaa 100644 (file)
@@ -33,6 +33,7 @@ build_libraries-individual -lf_memory -lf_string
 build_sources_library thread.c
 build_sources_library thread/attribute.c thread/attributes.c thread/attributess.c
 build_sources_library thread/barrier.c thread/barriers.c thread/barrierss.c thread/barrier_attribute.c thread/barrier_attributes.c thread/barrier_attributess.c thread/barrier_full.c thread/barrier_fulls.c thread/barrier_fullss.c
+build_sources_library thread/common.c
 build_sources_library thread/condition.c thread/conditions.c thread/conditionss.c thread/condition_attribute.c thread/condition_attributes.c thread/condition_attributess.c thread/condition_full.c thread/condition_fulls.c thread/condition_fullss.c
 build_sources_library thread/id.c thread/ids.c thread/idss.c
 build_sources_library thread/key.c thread/keys.c thread/keyss.c
@@ -48,6 +49,7 @@ build_sources_library ../../tests/unit/c/mock-thread.c
 build_sources_headers thread.h
 build_sources_headers thread/attribute.h thread/attributes.h thread/attributess.h
 build_sources_headers thread/barrier.h thread/barriers.h thread/barrierss.h thread/barrier_attribute.h thread/barrier_attributes.h thread/barrier_attributess.h thread/barrier_full.h thread/barrier_fulls.h thread/barrier_fullss.h
+build_sources_headers thread/common.h
 build_sources_headers thread/condition.h thread/conditions.h thread/conditionss.h thread/condition_attribute.h thread/condition_attributes.h thread/condition_attributess.h thread/condition_full.h thread/condition_fulls.h thread/condition_fullss.h
 build_sources_headers thread/id.h thread/ids.h thread/idss.h
 build_sources_headers thread/key.h thread/keys.h thread/keyss.h