![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "external/ThreadSafetyAnalysis.h"#include <assert.h>#include <errno.h>#include <float.h>#include <glib.h>#include <pthread.h>#include <stdio.h>#include <stdlib.h>#include <string.h>
Include dependency graph for dtpthread.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Macros | |
| #define | dt_pthread_rwlock_t pthread_rwlock_t |
| #define | dt_pthread_rwlock_init pthread_rwlock_init |
| #define | dt_pthread_rwlock_destroy pthread_rwlock_destroy |
| #define | dt_pthread_rwlock_unlock pthread_rwlock_unlock |
| #define | dt_pthread_rwlock_rdlock pthread_rwlock_rdlock |
| #define | dt_pthread_rwlock_wrlock pthread_rwlock_wrlock |
| #define | dt_pthread_rwlock_tryrdlock pthread_rwlock_tryrdlock |
| #define | dt_pthread_rwlock_trywrlock pthread_rwlock_trywrlock |
| #define | dt_pthread_rwlock_rdlock_with_caller(A, B, C) pthread_rwlock_rdlock(A) |
| #define | dt_pthread_rwlock_wrlock_with_caller(A, B, C) pthread_rwlock_wrlock(A) |
| #define | dt_pthread_rwlock_tryrdlock_with_caller(A, B, C) pthread_rwlock_tryrdlock(A) |
| #define | dt_pthread_rwlock_trywrlock_with_caller(A, B, C) pthread_rwlock_trywrlock(A) |
Functions | |
| struct | CAPABILITY ("mutex") dt_pthread_mutex_t |
| static int | dt_pthread_mutex_init (dt_pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr) |
| static int | dt_pthread_mutex_lock (dt_pthread_mutex_t *mutex) ACQUIRE(mutex) NO_THREAD_SAFETY_ANALYSIS |
| static int | dt_pthread_mutex_trylock (dt_pthread_mutex_t *mutex) TRY_ACQUIRE(0 |
| static int | dt_pthread_mutex_unlock (dt_pthread_mutex_t *mutex) RELEASE(mutex) NO_THREAD_SAFETY_ANALYSIS |
| static int | dt_pthread_mutex_destroy (dt_pthread_mutex_t *mutex) |
| static int | dt_pthread_cond_wait (pthread_cond_t *cond, dt_pthread_mutex_t *mutex) |
| static int | dt_pthread_mutex_BAD_lock (dt_pthread_mutex_t *mutex) |
| static int | dt_pthread_mutex_BAD_trylock (dt_pthread_mutex_t *mutex) |
| static int | dt_pthread_mutex_BAD_unlock (dt_pthread_mutex_t *mutex) |
| int | dt_pthread_create (pthread_t *thread, void *(*start_routine)(void *), void *arg, const gboolean realtime) |
| void | dt_pthread_setname (const char *name) |
Variables | |
| static int | mutex |
| #define dt_pthread_rwlock_destroy pthread_rwlock_destroy |
| #define dt_pthread_rwlock_init pthread_rwlock_init |
| #define dt_pthread_rwlock_rdlock pthread_rwlock_rdlock |
| #define dt_pthread_rwlock_t pthread_rwlock_t |
| #define dt_pthread_rwlock_tryrdlock pthread_rwlock_tryrdlock |
| #define dt_pthread_rwlock_trywrlock pthread_rwlock_trywrlock |
| #define dt_pthread_rwlock_unlock pthread_rwlock_unlock |
| #define dt_pthread_rwlock_wrlock pthread_rwlock_wrlock |
| CAPABILITY | ( | "mutex" | ) |
|
inlinestatic |
| int dt_pthread_create | ( | pthread_t * | thread, |
| void *(*)(void *) | start_routine, | ||
| void * | arg, | ||
| const gboolean | realtime | ||
| ) |
References WANTED_THREADS_STACK_SIZE.
Referenced by _start_fullres_worker(), _start_worker(), and dt_control_jobs_init().
|
inlinestatic |
References mutex.
|
inlinestatic |
References mutex.
|
inlinestatic |
References mutex.
|
inlinestatic |
References mutex.
Referenced by _cleanup(), _dt_delete_file_display_modal_dialog(), _free_cache_entry(), _rt_destroy_state(), cleanup(), dt_accels_cleanup(), dt_cache_arena_cleanup(), dt_cache_cleanup(), dt_cleanup(), dt_conf_cleanup(), dt_control_cleanup(), dt_control_job_dispose(), dt_control_progress_destroy(), dt_dev_pixelpipe_cache_cleanup(), dt_dev_pixelpipe_cache_init(), dt_dev_pixelpipe_cleanup(), dt_drawlayer_runtime_manager_cleanup(), dt_film_cleanup(), dt_gui_throttle_cleanup(), dt_image_cache_cleanup(), dt_iop_gui_cleanup_blending(), dt_pixel_cache_new_entry(), dt_thumbnail_destroy(), dt_thumbtable_cleanup(), and dt_undo_cleanup().
|
inlinestatic |
References mutex.
Referenced by _dt_delete_file_display_modal_dialog(), _history_stmt_mutex_ensure(), _image_cache_stmt_mutex_ensure(), _image_stmt_mutex_ensure(), _init(), _iop_gui_alloc(), _rt_init_state(), _write_timestamp_stmt_ensure(), dt_accels_init(), dt_cache_arena_init(), dt_cache_init(), dt_conf_init(), dt_control_init(), dt_control_job_create(), dt_control_progress_create(), dt_dev_pixelpipe_cache_init(), dt_dev_pixelpipe_init_cached(), dt_drawlayer_runtime_manager_init(), dt_film_init(), dt_gui_gtk_init(), dt_gui_throttle_init(), dt_init(), dt_iop_gui_init_blending(), dt_lua_init_lock(), dt_pixel_cache_new_entry(), dt_thumbnail_new(), dt_thumbtable_new(), dt_undo_init(), and init().
|
inlinestatic |
References mutex.
Referenced by _accels_tooltip_query_hook(), _alternative_mode(), _arena_alloc_with_defrag(), _async_commit_idle(), _backend_worker_on_idle(), _backend_worker_process_stroke_end(), _blendop_blendif_channel_mask_view_toggle(), _blendop_blendif_enter(), _blendop_blendif_leave(), _blendop_blendif_leave_delayed(), _blendop_blendif_sliders_callback(), _blendop_blendif_update_tab(), _cache_entry_clmem_flush_device(), _cache_entry_has_device_payload(), _cache_lookup_existing(), _cache_try_rekey_reuse_locked(), _cancel_async_commit(), _drawlayer_fullres_worker_main(), _drawlayer_worker_main(), _dt_collection_lut(), _dt_ctl_log_message_timeout_callback(), _dt_ctl_toast_message_timeout_callback(), _dt_delete_dialog_main_thread(), _dt_delete_file_display_modal_dialog(), _dt_image_info_changed_callback(), _dt_selection_changed_callback(), _dt_thumbtable_empty_list(), _enqueue_event(), _enqueue_finished_stroke(), _enqueue_input(), _filelist_changed_callback(), _find_path_for_keys(), _finish_buffer_thread(), _free_cache_entry(), _get_image_buffer(), _has_shortcut(), _image_cache_reload_from_db(), _image_cache_write_history_hash(), _imgid_to_rowid(), _insert_accel(), _lua_job_progress(), _lua_job_valid(), _mouse_over_image_callback(), _move_in_grid(), _pause_worker(), _resume_worker(), _rt_workers_active(), _rt_workers_any_active(), _step_state(), _stop_worker(), _thumb_draw_image(), _thumbtable_clone_lut(), _toast_log(), _ui_log_redraw_callback(), _ui_toast_redraw_callback(), _update_manager_information(), _wait_fullres_idle(), _wait_worker_idle(), _write_timestamp_get(), _write_timestamp_set_now(), blend_color_picker_apply(), camera_autosearch_clicked(), camera_menusearch_clicked(), commit_params(), destroy_pref(), distort_mask(), dt_accels_cleanup(), dt_accels_connect_accels(), dt_accels_new_action_shortcut(), dt_accels_new_virtual_instance_shortcut(), dt_accels_new_virtual_shortcut(), dt_accels_new_widget_shortcut(), dt_accels_remove_accel(), dt_accels_remove_shortcut(), dt_cache_arena_alloc(), dt_cache_arena_cleanup(), dt_cache_arena_free(), dt_cache_arena_stats(), dt_cache_contains(), dt_cache_for_all(), dt_cache_get_with_caller(), dt_cache_remove(), dt_cache_seed(), dt_cache_testget(), dt_capabilities_add(), dt_capabilities_remove(), dt_conf_all_string_entries(), dt_conf_get_var(), dt_conf_key_exists(), dt_conf_set_if_not_overridden(), dt_control_add_job(), dt_control_add_job_res(), dt_control_button_pressed(), dt_control_expose(), dt_control_flush_jobs_queue(), dt_control_get_keyboard_over_id(), dt_control_get_mouse_over_id(), dt_control_job_get_state(), dt_control_job_set_state(), dt_control_job_wait(), dt_control_jobs_init(), dt_control_log(), dt_control_log_busy_enter(), dt_control_log_busy_leave(), dt_control_progress_cancel(), dt_control_progress_cancellable(), dt_control_progress_create(), dt_control_progress_destroy(), dt_control_progress_get_gui_data(), dt_control_progress_get_message(), dt_control_progress_get_progress(), dt_control_progress_has_progress_bar(), dt_control_progress_make_cancellable(), dt_control_progress_set_gui_data(), dt_control_progress_set_message(), dt_control_progress_set_progress(), dt_control_quit(), dt_control_run_job(), dt_control_run_job_res(), dt_control_running(), dt_control_schedule_job(), dt_control_set_keyboard_over_id(), dt_control_set_mouse_over_id(), dt_control_shutdown(), dt_control_toast_busy_enter(), dt_control_toast_busy_leave(), dt_control_work(), dt_control_work_res(), dt_control_worker_kicker(), dt_dev_darkroom_pipeline(), dt_dev_pixel_pipe_cache_remove_lru(), dt_dev_pixelpipe_cache_auto_destroy_apply(), dt_dev_pixelpipe_cache_flag_auto_destroy(), dt_dev_pixelpipe_cache_flush(), dt_dev_pixelpipe_cache_flush_clmem(), dt_dev_pixelpipe_cache_get(), dt_dev_pixelpipe_cache_get_entry(), dt_dev_pixelpipe_cache_get_writable(), dt_dev_pixelpipe_cache_ref_count_entry(), dt_dev_pixelpipe_cache_ref_entry_for_host_ptr(), dt_dev_pixelpipe_cache_rekey(), dt_dev_pixelpipe_cache_remove(), dt_dev_pixelpipe_cache_unref_hash(), dt_dev_pixelpipe_process(), dt_drawlayer_runtime_manager_note_buffer_lock(), dt_drawlayer_runtime_manager_note_sidecar_io(), dt_drawlayer_runtime_manager_note_thread(), dt_drawlayer_worker_get_snapshot(), dt_drawlayer_worker_pending_dab_count(), dt_drawlayer_worker_request_commit(), dt_drawlayer_worker_reset_backend_path(), dt_drawlayer_worker_reset_live_publish(), dt_drawlayer_worker_reset_stroke(), dt_drawlayer_worker_seal_for_commit(), dt_film_import1_create(), dt_film_import1_run(), dt_get_selected_files(), dt_gui_gtk_write_config(), dt_gui_throttle_record_runtime(), dt_history_check_module_exists(), dt_history_cleanup(), dt_history_db_delete_history(), dt_history_db_delete_masks_history(), dt_history_db_foreach_auto_preset_row(), dt_history_db_foreach_history_row(), dt_history_db_get_autoapply_ioporder_params(), dt_history_db_get_next_history_num(), dt_history_db_shift_history_nums(), dt_history_db_write_history_item(), dt_history_get_end(), dt_history_set_end(), dt_image_altered(), dt_image_cleanup(), dt_imageio_open_rawspeed(), dt_import_init(), dt_iop_gui_blending_lose_focus(), dt_iop_gui_cleanup_blending(), dt_iop_gui_cleanup_blending_body(), dt_iop_gui_enter_critical_section(), dt_iop_gui_init_blending(), dt_iop_gui_update_blendif(), dt_lua_init_lock(), dt_lua_lock_internal(), dt_lua_unlock_internal(), dt_masks_get_lock_mode(), dt_masks_set_lock_mode(), dt_pixel_cache_clmem_flush(), dt_pixel_cache_clmem_get(), dt_pixel_cache_clmem_put(), dt_pixel_cache_clmem_ref(), dt_pixel_cache_clmem_remove(), dt_pixel_cache_clmem_unref(), dt_pixelpipe_cache_alloc_align_cache_impl(), dt_pixelpipe_cache_free_align_cache(), dt_rawspeed_load_meta(), dt_thumbnail_destroy(), dt_thumbnail_get_image_buffer(), dt_thumbtable_dispatch_over(), dt_thumbtable_get_thumbnail_info(), dt_thumbtable_key_pressed_grid(), dt_thumbtable_offset_zoom(), dt_thumbtable_refresh_thumbnail_real(), dt_thumbtable_scroll_to_imgid(), dt_thumbtable_select_all(), dt_thumbtable_select_range(), dt_thumbtable_set_draw_group_borders(), dt_thumbtable_set_overlays_mode(), dt_thumbtable_update(), enter(), expose(), get_autoscale(), get_keys(), gui_cleanup(), gui_cleanup(), gui_init(), gui_init(), gui_update(), leave(), lens_autosearch_clicked(), lens_menusearch_clicked(), Lock::Lock(), process(), process(), process_image(), reload_defaults(), and store().
|
inlinestatic |
References mutex.
Referenced by dt_dev_pixelpipe_cache_flush_old().
|
inlinestatic |
References mutex.
Referenced by _accels_tooltip_query_hook(), _alternative_mode(), _arena_alloc_with_defrag(), _async_commit_idle(), _backend_worker_on_idle(), _backend_worker_process_stroke_end(), _blendop_blendif_channel_mask_view_toggle(), _blendop_blendif_enter(), _blendop_blendif_leave(), _blendop_blendif_leave_delayed(), _blendop_blendif_sliders_callback(), _blendop_blendif_update_tab(), _cache_entry_clmem_flush_device(), _cache_entry_has_device_payload(), _cache_lookup_existing(), _cache_try_rekey_reuse_locked(), _cancel_async_commit(), _drawlayer_fullres_worker_main(), _drawlayer_worker_main(), _dt_collection_lut(), _dt_ctl_log_message_timeout_callback(), _dt_ctl_toast_message_timeout_callback(), _dt_delete_dialog_main_thread(), _dt_delete_file_display_modal_dialog(), _dt_image_info_changed_callback(), _dt_selection_changed_callback(), _dt_thumbtable_empty_list(), _enqueue_event(), _enqueue_finished_stroke(), _enqueue_input(), _filelist_changed_callback(), _find_path_for_keys(), _finish_buffer_thread(), _free_cache_entry(), _get_image_buffer(), _has_shortcut(), _image_cache_reload_from_db(), _image_cache_write_history_hash(), _imgid_to_rowid(), _insert_accel(), _lua_job_progress(), _lua_job_valid(), _mouse_over_image_callback(), _move_in_grid(), _pause_worker(), _resume_worker(), _rt_workers_active(), _rt_workers_any_active(), _step_state(), _stop_worker(), _thumb_draw_image(), _thumbtable_clone_lut(), _toast_log(), _ui_log_redraw_callback(), _ui_toast_redraw_callback(), _update_manager_information(), _wait_fullres_idle(), _wait_worker_idle(), _write_timestamp_get(), _write_timestamp_set_now(), blend_color_picker_apply(), camera_autosearch_clicked(), camera_menusearch_clicked(), commit_params(), destroy_pref(), distort_mask(), dt_accels_cleanup(), dt_accels_connect_accels(), dt_accels_new_action_shortcut(), dt_accels_new_virtual_instance_shortcut(), dt_accels_new_virtual_shortcut(), dt_accels_new_widget_shortcut(), dt_accels_remove_accel(), dt_accels_remove_shortcut(), dt_cache_arena_alloc(), dt_cache_arena_cleanup(), dt_cache_arena_free(), dt_cache_arena_stats(), dt_cache_contains(), dt_cache_for_all(), dt_cache_get_with_caller(), dt_cache_remove(), dt_cache_seed(), dt_cache_testget(), dt_capabilities_add(), dt_capabilities_remove(), dt_conf_all_string_entries(), dt_conf_get_var(), dt_conf_key_exists(), dt_conf_set_if_not_overridden(), dt_control_add_job(), dt_control_add_job_res(), dt_control_button_pressed(), dt_control_expose(), dt_control_flush_jobs_queue(), dt_control_get_keyboard_over_id(), dt_control_get_mouse_over_id(), dt_control_job_get_state(), dt_control_job_set_state(), dt_control_job_wait(), dt_control_jobs_init(), dt_control_log(), dt_control_log_busy_enter(), dt_control_log_busy_leave(), dt_control_progress_cancel(), dt_control_progress_cancellable(), dt_control_progress_create(), dt_control_progress_destroy(), dt_control_progress_get_gui_data(), dt_control_progress_get_message(), dt_control_progress_get_progress(), dt_control_progress_has_progress_bar(), dt_control_progress_make_cancellable(), dt_control_progress_set_gui_data(), dt_control_progress_set_message(), dt_control_progress_set_progress(), dt_control_quit(), dt_control_run_job(), dt_control_run_job_res(), dt_control_running(), dt_control_schedule_job(), dt_control_set_keyboard_over_id(), dt_control_set_mouse_over_id(), dt_control_shutdown(), dt_control_toast_busy_enter(), dt_control_toast_busy_leave(), dt_control_work(), dt_control_work_res(), dt_control_worker_kicker(), dt_dev_darkroom_pipeline(), dt_dev_pixel_pipe_cache_remove_lru(), dt_dev_pixelpipe_cache_auto_destroy_apply(), dt_dev_pixelpipe_cache_flag_auto_destroy(), dt_dev_pixelpipe_cache_flush(), dt_dev_pixelpipe_cache_flush_clmem(), dt_dev_pixelpipe_cache_flush_old(), dt_dev_pixelpipe_cache_get(), dt_dev_pixelpipe_cache_get_entry(), dt_dev_pixelpipe_cache_get_writable(), dt_dev_pixelpipe_cache_ref_count_entry(), dt_dev_pixelpipe_cache_ref_entry_for_host_ptr(), dt_dev_pixelpipe_cache_rekey(), dt_dev_pixelpipe_cache_remove(), dt_dev_pixelpipe_cache_unref_hash(), dt_dev_pixelpipe_process(), dt_drawlayer_runtime_manager_note_buffer_lock(), dt_drawlayer_runtime_manager_note_sidecar_io(), dt_drawlayer_runtime_manager_note_thread(), dt_drawlayer_worker_get_snapshot(), dt_drawlayer_worker_pending_dab_count(), dt_drawlayer_worker_request_commit(), dt_drawlayer_worker_reset_backend_path(), dt_drawlayer_worker_reset_live_publish(), dt_drawlayer_worker_reset_stroke(), dt_drawlayer_worker_seal_for_commit(), dt_film_import1_create(), dt_film_import1_run(), dt_get_selected_files(), dt_gui_gtk_write_config(), dt_gui_throttle_record_runtime(), dt_history_check_module_exists(), dt_history_cleanup(), dt_history_db_delete_history(), dt_history_db_delete_masks_history(), dt_history_db_foreach_auto_preset_row(), dt_history_db_foreach_history_row(), dt_history_db_get_autoapply_ioporder_params(), dt_history_db_get_next_history_num(), dt_history_db_shift_history_nums(), dt_history_db_write_history_item(), dt_history_get_end(), dt_history_set_end(), dt_image_altered(), dt_image_cleanup(), dt_imageio_open_rawspeed(), dt_import_init(), dt_iop_gui_blending_lose_focus(), dt_iop_gui_cleanup_blending(), dt_iop_gui_cleanup_blending_body(), dt_iop_gui_init_blending(), dt_iop_gui_leave_critical_section(), dt_iop_gui_update_blendif(), dt_lua_init_lock(), dt_lua_lock_internal(), dt_lua_unlock_internal(), dt_masks_get_lock_mode(), dt_masks_set_lock_mode(), dt_pixel_cache_clmem_flush(), dt_pixel_cache_clmem_get(), dt_pixel_cache_clmem_put(), dt_pixel_cache_clmem_ref(), dt_pixel_cache_clmem_remove(), dt_pixel_cache_clmem_unref(), dt_pixelpipe_cache_alloc_align_cache_impl(), dt_pixelpipe_cache_free_align_cache(), dt_rawspeed_load_meta(), dt_thumbnail_destroy(), dt_thumbnail_get_image_buffer(), dt_thumbtable_dispatch_over(), dt_thumbtable_get_thumbnail_info(), dt_thumbtable_key_pressed_grid(), dt_thumbtable_offset_zoom(), dt_thumbtable_refresh_thumbnail_real(), dt_thumbtable_scroll_to_imgid(), dt_thumbtable_select_all(), dt_thumbtable_select_range(), dt_thumbtable_set_draw_group_borders(), dt_thumbtable_set_overlays_mode(), dt_thumbtable_update(), enter(), expose(), get_autoscale(), get_keys(), gui_cleanup(), gui_cleanup(), gui_init(), gui_init(), gui_update(), leave(), lens_autosearch_clicked(), lens_menusearch_clicked(), process(), process(), process_image(), reload_defaults(), store(), and Lock::~Lock().
| void dt_pthread_setname | ( | const char * | name | ) |
References dtwin_set_thread_name(), and name.
Referenced by _drawlayer_fullres_worker_main(), _drawlayer_worker_main(), dt_control_work(), dt_control_work_res(), and dt_control_worker_kicker().
| int mutex |