Make win32 i/o signals atomic and longjmp() safe

This commit is contained in:
Justine Tunney 2023-11-04 20:29:25 -07:00
parent 585c86e2a4
commit d7917ea076
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
20 changed files with 381 additions and 263 deletions

View file

@ -48,11 +48,11 @@ void __sig_unblock(sigset_t m) {
}
}
textwindows sigset_t __sig_beginwait(sigset_t waitmask) {
textwindows sigset_t __sig_begin(sigset_t waitmask) {
return atomic_exchange_explicit(&__get_tls()->tib_sigmask, waitmask,
memory_order_acquire);
}
textwindows void __sig_finishwait(sigset_t m) {
textwindows void __sig_finish(sigset_t m) {
atomic_store_explicit(&__get_tls()->tib_sigmask, m, memory_order_release);
}