-
Type: Improvement
-
Resolution: Done
-
Priority: Unknown
-
Affects Version/s: None
-
Component/s: None
-
None
The library only defines a single atomic API for adding to a 32-bit and 64-bit integers, but includes a lot of complex preprocessor logic to detect platforms that are probably not relevant to the library, and are likely untested. There is a lack of atomic exchange, atomic compare-exchange, atomic fetch. Atomic fetch, in particular, is useful for read operations on integral variables that may be modified concurrently, without the need to introduce a lock (relevant to CDRIVER-4114).
The pending solution for CDRIVER-4113 also makes use of these additional atomic operations.
- has to be done before
-
CDRIVER-4149 Unit Test Suite for Atomics
- Backlog
- is related to
-
MONGOCRYPT-334 RHEL 6 failing to compile bson-atomic.h
- Closed
-
PHPC-2013 RHEL 7.0 and 7.1 builds fail due to incompatible pointer warnings
- Closed
-
CDRIVER-4113 Reduce contention on multithreaded session pool
- Closed
- related to
-
CDRIVER-4237 Incompatible pointer type warnings in atomics
- Closed
-
CDRIVER-4229 zSeries /atomic/integers aborts with "Illegal instruction"
- Closed
-
PHPC-1997 Update calls to deprecated bson_atomic_int_add function
- Closed