Aloha - 'netmsg' is progressing nicely. I'm developing a test suite for it, and have encountered an oblique case that's causing me some grief.
The problem is related to NO SENDERS notifications, which currently remain attached to a port if its receive right is moved. This contrasts with the behavior of DEAD NAME notifications, which seem not to remain attached to a send right when it moves, and instead generate a PORT DELETED notification if the process's last send right is moved (or destroyed). The Mach 3 kernel interfaces document, on page 60, includes the following statement: (Note: Currently, moving a receive right does not affect any extant no-senders notifications. It is currently planned to change this so that no-senders notifications are canceled, with a send-once notification sent to indicate the cancellation.) Well, this is exactly the situation that I'm wrestling with now. Tracking NO SENDERS notifications across a network connection is a big headache. It would be a lot easier if the behavior was changed as planned. I don't even have to change the kernel to implement that behavior in 'netmsg'. I can trigger that cancellation message myself, by just destroying the send-once right. Of course, then the behavior would differ depending on whether you moved a receive right locally or remotely. Notifications would follow local moves, but trigger cancellation on remote moves. Programs could not depend on either behavior. Any comments? agape brent