This is my proposal to fix the SIGSTOP/SIGCONT issue where RPC calls
were being repeated even though the server will complete the request
as discussed in the thread:

https://lists.gnu.org/archive/html/bug-hurd/2026-03/msg00243.html

The very simple test case was to run tar whilst SIGSTOP/SIGCONT
multiple times from the shell:

# /usr/bin/tar xf data.tar.xz

Repeated interrupted extractions of the same archive result in file
differences in the output as some segments are written multiple times.

There are 2 patches that must be applied in the sequence specified:

1) Alterations to MSG_EXAMINE to provide the signal thread with access
to additional RPC input parameters. There was a case of 'return -1' in
the i386 version which made no sense in an inline macro and I'm
guessing was a historic leftover. I have altered it to match the
x86_64 version.

2) Patch 2 is the revised architecture independent fix for
SIGSTOP/SIGCONT.

I can confirm that this patch fixes this testcase on both hurd-i386
and hurd-amd64. I've run msgport utility and it runs with output
generated from report-wait so seems OK. Hopefully there are no
unforeseen negative consequences.

Cheers,

Mike.

Reply via email to