Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
global_mutexes.h File Reference
#include "system/dtpthread.h"
+ Include dependency graph for global_mutexes.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

dt_pthread_mutex_t * dt_plugin_threadsafe_mutex (void)
 
dt_pthread_mutex_t * dt_pipeline_threadsafe_mutex (void)
 
dt_pthread_mutex_t * dt_exiv2_threadsafe_mutex (void)
 
dt_pthread_mutex_t * dt_readfile_mutex (void)
 

Function Documentation

◆ dt_exiv2_threadsafe_mutex()

dt_pthread_mutex_t * dt_exiv2_threadsafe_mutex ( void  )

Exiv2 readMetadata() was not thread-safe prior to 0.27.

Definition at line 621 of file darktable.c.

References darktable, and darktable_t::exiv2_threadsafe.

Referenced by Lock::Lock(), and Lock::~Lock().

◆ dt_pipeline_threadsafe_mutex()

dt_pthread_mutex_t * dt_pipeline_threadsafe_mutex ( void  )

Prevents concurrent export/thumbnail pipelines from running at the same time. This buys no throughput – the CPU is the bottleneck and the pixel code is already multi-threaded internally through OpenMP – it bounds peak memory instead.

Definition at line 616 of file darktable.c.

References darktable, and darktable_t::pipeline_threadsafe.

Referenced by dt_dev_pixelpipe_process().

◆ dt_plugin_threadsafe_mutex()

dt_pthread_mutex_t * dt_plugin_threadsafe_mutex ( void  )

Serializes plugin calls that are not thread-safe, notably at export time when several pipelines would otherwise enter the same library concurrently.

Definition at line 611 of file darktable.c.

References darktable, and darktable_t::plugin_threadsafe.

Referenced by camera_autosearch_clicked(), camera_menusearch_clicked(), commit_params(), distort_mask(), dt_rawspeed_load_meta(), get_autoscale(), gui_init(), gui_update(), lens_autosearch_clicked(), lens_menusearch_clicked(), process(), process(), process_cl(), reload_defaults(), and store().

◆ dt_readfile_mutex()

dt_pthread_mutex_t * dt_readfile_mutex ( void  )

RawSpeed readFile() is apparently not thread-safe.

Definition at line 626 of file darktable.c.

References darktable, and darktable_t::readFile_mutex.

Referenced by dt_imageio_open_rawspeed().