On Sat, 31 Dec 2022 at 11:19, William ML Leslie < william.leslie....@gmail.com> wrote:
> On Sat, 31 Dec 2022 at 11:15, William ML Leslie < >> william.leslie....@gmail.com> wrote: >> Notification objects - like all kernel-implemented objects - complete >> their operation immediately. >> > > Or maybe put another way - notification objects are always ready to > respond to your messages, so they do not block. > > I'm still technically wrong without further context, so let me clear up the two different usages of blocking here: The "blocking" in NBSend refers to waiting until the receiver can receive the message. A non-blocking send does not wait for the receiver to be ready to receive the message, if the receiver is not ready, it simply doesn't send the message. Signals are *always* "non-blocking", in that you can send one, regardless of what state the thread is in that will receive the Signal. However, when you send a Signal, you send a message to the Notification object, which is always ready to receive your message. So, you don't need to use a non-blocking system call to do the send. I hope that helps. -- William ML Leslie _______________________________________________ Devel mailing list -- devel@sel4.systems To unsubscribe send an email to devel-leave@sel4.systems