diff options
author | Rich Felker <dalias@aerifal.cx> | 2023-02-11 19:13:10 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2023-02-12 15:05:39 -0500 |
commit | 0ab97350f01b42de0f9fd811ee08653169661859 (patch) | |
tree | 30c9b583f4e9ce595dcf0070b20b1981a18fa474 /src/mq/mq_close.c | |
parent | 711673ee772e20a74aaf301c2d7745c20c4f4d47 (diff) | |
download | musl-0ab97350f01b42de0f9fd811ee08653169661859.tar.gz musl-0ab97350f01b42de0f9fd811ee08653169661859.tar.bz2 musl-0ab97350f01b42de0f9fd811ee08653169661859.tar.xz musl-0ab97350f01b42de0f9fd811ee08653169661859.zip |
mq_notify: block all (application) signals in the worker thread
until the mq notification event arrives, it is mandatory that signals
be blocked. otherwise, a signal can be received, and its handler
executed, in a thread which does not yet exist on the abstract
machine.
after the point of the event arriving, having signals blocked is not a
conformance requirement but a QoI requirement. while the application
can unblock any signals it wants unblocked in the event handler
thread, if they did not start out blocked, it could not block them
without a race window where they are momentarily unblocked, and this
would preclude controlled delivery or other forms of acceptance
(sigwait, etc.) anywhere in the application.
Diffstat (limited to 'src/mq/mq_close.c')
0 files changed, 0 insertions, 0 deletions