diff options
author | Andy Wingo <wingo@pobox.com> | 2016-11-01 23:48:42 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2016-11-01 23:48:42 +0100 |
commit | fcc6a7ba20d08f81602b395c04e04f9acc8403e3 (patch) | |
tree | 53e77078b968146be913242d6d84930206a2be60 /NEWS | |
parent | 4b78b001d875cee7a4ee383f0cb498afc67835ee (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-- | NEWS | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -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 |