:A second mailboxed signal with a different number. Eg: you make a
:syscall, the syscall returns EINTR and you go to check what's on
:the mailbox, but before being able to read what's on the mailbox
:an other signal gets delivered, so when you actually want to
:look at the mailbox you would be reading the second signal instead
:of the first one.
Each signal can specify a different mailbox. If you specify a single
mailbox for multiple signals they simply overwrite each other... but
in that case the user software is expected to simply check for a non-zero
value and poll both.
I considered making the mailbox a bitmap but it's very expensive to do
an atomic read-modify-write (and userland would have to do an atomic
read-modify-clear), and also expensive for userland to have to test
multiple memory words instead of just a single 'int'.
I don't think its important to try to distinguish them when the mailbox
is shared, simply because using a mailbox in the first place implies
a (mostly) polled environment, and there are really only a few signals
for which this sort of situation applies.
-Matt
Matthew Dillon
<[EMAIL PROTECTED]>