Hello, Michael Kelly, le mer. 13 août 2025 22:14:15 +0100, a ecrit: > The message header is modified within gnumach by the 'slow_send:' case > within mach_msg_trap when ipc_mqueue_send() fails (presumed to be > MACH_SEND_INTERRUPTED) to deliver the message.
I wouldn't be that much surprised that this is expected. At least, the kernel seems to be coherently using ipc_kmsg_copyout_pseudo on ipc_mqueue_send failure, so it is assuming it can indeed overwrite the message. > I can solve my test case by 'correcting' the message header within the > MACH_SEND_INTERRUPTED case of _hurd_intr_rpc_mach_msg(). There are other > places in this code that realise that the header is modified by the system > call and make a correction to it before attempting to resend the message. Yes, that does look reasonable. I'm not completely surprised that this didn't get notice, since this is a rare condition. Samuel

