Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
dt_dev_geometry_store_t Struct Reference

Single-writer seqlock around the record. More...

#include <dev_geometry.h>

+ Collaboration diagram for dt_dev_geometry_store_t:

Data Fields

dt_atomic_uint64 generation
 
dt_dev_image_geometry_t value
 

Detailed Description

Single-writer seqlock around the record.

generation is odd while a publication is in flight and even once it has settled. A reader copies the value, re-reads the generation and retries on a mismatch, so a pipeline thread can never observe a new width paired with an old height – which is the failure this record exists to remove, the pair having been two independent unlocked stores before.

Deliberately not a mutex: one here would create a lock-ordering obligation against history_mutex and the pipe's busy_mutex, both of which are already held across reads of these values.

Definition at line 74 of file dev_geometry.h.

Field Documentation

◆ generation

dt_atomic_uint64 dt_dev_geometry_store_t::generation

Definition at line 76 of file dev_geometry.h.

Referenced by dt_dev_geometry_init().

◆ value

dt_dev_image_geometry_t dt_dev_geometry_store_t::value

The documentation for this struct was generated from the following file: