summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/diffutils/diff
diff options
context:
space:
mode:
authornathanw <nathanw@NetBSD.org>2003-01-25 00:43:38 +0000
committernathanw <nathanw@NetBSD.org>2003-01-25 00:43:38 +0000
commitfe8e8dad4a892f0dcca519bce3419e4ca080593f (patch)
tree038e715c26cbb1e86b4c8645cf52fa05134b96ec /gnu/usr.bin/diffutils/diff
parent564fe117cc7d093237e1c99301fd5fc1ead165c7 (diff)
More signal rearranging:
- Signal handlers now simply continue executing the current thread, rather than trying to put themselves back on the queue that they came from, which was rather fragile. As a result, all callers of pthread__block() must be prepared to handle spurious wakeups. - When a signal arrives for a thread that is blocked in the kernel, note this in another field in pthread_st and set a flag. Process the signal and set up the trampoline for the handler *after* the thread unblocks, so that both the trampoline and the returned state from the kernel are preserved. - Factor out some code into a pthread__deliver_signal() routine; the signal-taking code in pthread_sigmask() should be able to use this soon. This is still gross, and there are still some terrible MP issues lurking here, but progress crawls along.
Diffstat (limited to 'gnu/usr.bin/diffutils/diff')
0 files changed, 0 insertions, 0 deletions