summaryrefslogtreecommitdiff
path: root/Changes
diff options
context:
space:
mode:
Diffstat (limited to 'Changes')
-rw-r--r--Changes13
1 files changed, 13 insertions, 0 deletions
diff --git a/Changes b/Changes
index 4b59dac0e7..4f9d6ff260 100644
--- a/Changes
+++ b/Changes
@@ -29,6 +29,19 @@ OCaml 5.1.0
### Runtime system:
+* #11865, #11868, #11876: Clarify that the operations of a custom
+ block must never access the OCaml runtime. The previous
+ documentation only mentioned the main illicit usages. In particular,
+ since OCaml 5.0, it is no longer safe to call
+ `caml_remove_global_root` or `caml_remove_generational_global_root`
+ from within the C finalizer of a custom block, or within the
+ finalization function passed to `caml_alloc_final`. As a workaround,
+ such a finalization operation can be registered with `Gc.finalize`
+ instead, which guarantees to run the finalizer at a safe point.
+ (Report by Timothy Bourke, discussion by Yotam Barnoy, Timothy
+ Bourke, Sadiq Jaffer, Xavier Leroy, Guillaume Munch-Maccagnoni, and
+ Gabriel Scherer)
+
- #12130: Fix multicore crashes with weak hash sets. Fixes #11934.
(Nick Barnes, review by François Bobot)