mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-15 10:17:20 +00:00
- The siglist in the proc holds signals that were blocked by all threads
when they were delivered. In signotify() check to see if we have unblocked any of those signals and post them to the thread. - Use td_sigmask instead of p_sigmask in all cases. - In sigpending return both signals pending on the thread and proc. - Define a function, sigtd(), that finds the appropriate thread to deliver the signal to if psignal() has been called instead of tdsignal(). - Define a function, tdsignal(), that delivers a signal to a specific thread or if that thread has the signal blocked it may deliver it to the process where it will wait for a thread to unblock it. - Since we are delivering signals to a specific thread we do not need to abort the sleep of all threads. - Rename the old tdsignal() to tdsigwakeup(). - Save and restore the old signal mask to and from the thread.
This commit is contained in:
parent
c5c34c0a76
commit
b716dd84b3
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=112890