summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2016-11-01 23:48:42 +0100
committerAndy Wingo <wingo@pobox.com>2016-11-01 23:48:42 +0100
commitfcc6a7ba20d08f81602b395c04e04f9acc8403e3 (patch)
tree53e77078b968146be913242d6d84930206a2be60 /NEWS
parent4b78b001d875cee7a4ee383f0cb498afc67835ee (diff)
Deprecate critical sections
* NEWS: Deprecate critical sections. * doc/ref/api-scheduling.texi (Critical Sections): Remove. * libguile/async.c: * libguile/async.h: * libguile/deprecated.c: * libguile/deprecated.h: * libguile/threads.c: * libguile/threads.h: Deprecate critical section API.
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS8
1 files changed, 8 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index a5b1a01ca..7233d2f3c 100644
--- a/NEWS
+++ b/NEWS
@@ -43,6 +43,14 @@ trivial unused data structure. Now that we have deprecated the old
"user async" facility, we have been able to clarify our documentation to
only refer to "asyncs".
+** Critical sections deprecated
+
+Critical sections have long been just a fancy way to lock a mutex and
+defer asynchronous interrupts. Instead of SCM_CRITICAL_SECTION_START,
+make sure you're in a "scm_dynwind_begin (0)" and use
+scm_dynwind_pthread_mutex_lock instead, possibly also with
+scm_dynwind_block_asyncs.
+
* Bug fixes
** cancel-thread uses asynchronous interrupts, not pthread_cancel