diff options
author | Florian Angeletti <florian.angeletti@inria.fr> | 2022-11-18 11:23:49 +0100 |
---|---|---|
committer | Florian Angeletti <florian.angeletti@inria.fr> | 2022-11-18 11:23:49 +0100 |
commit | 7c79659c7ceb64a5a720edb1d2f8f202e142fe96 (patch) | |
tree | 54d1146ca847e18fa03b48bab5e8a3d2123d94d0 /stdlib/queue.mli | |
parent | 634c90eca47afbb214b89e10697cc9ca2dff90e2 (diff) | |
download | ocaml-7c79659c7ceb64a5a720edb1d2f8f202e142fe96.tar.gz |
stdlib: add an unsynchronized_access alert to mutable datatypes
Diffstat (limited to 'stdlib/queue.mli')
-rw-r--r-- | stdlib/queue.mli | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/stdlib/queue.mli b/stdlib/queue.mli index caf6c85fde..a6fe4df732 100644 --- a/stdlib/queue.mli +++ b/stdlib/queue.mli @@ -17,10 +17,18 @@ This module implements queues (FIFOs), with in-place modification. See {{!examples} the example section} below. +*) + +(** {b Unsynchronized accesses} *) + +[@@@alert unsynchronized_access + "Unsynchronized accesses to queues are a programming error." +] - {b Warning} This module is not thread-safe: each {!Queue.t} value - must be protected from concurrent access (e.g. with a [Mutex.t]). - Failure to do so can lead to a crash. +(** + Unsynchronized accesses to a queue may lead to an invalid queue state. + Thus, concurrent accesses to queues must be synchronized (for instance + with a {!Mutex.t}). *) type !'a t |