In DOOR_CALL(3C) it says (emphasis mine):
The door_call() function is not a restartable system call. It returns EINTR if a signal was caught and handled by this thread. If the door invocation is not idempotent the caller should mask any signals that may be generated during a door_call() operation.
Or maybe the default door_call should say in the docs that it expects the server procedure to be idempotent, and we could have a separate door_call_nonidempotent call that masks signals to make sure that signals received by the client do not cause the server to be interrupted.
In
DOOR_CALL(3C)it says (emphasis mine):Or maybe the default
door_callshould say in the docs that it expects the server procedure to be idempotent, and we could have a separatedoor_call_nonidempotentcall that masks signals to make sure that signals received by the client do not cause the server to be interrupted.