Hi Takashi,

Takashi Yano wrote:
Hi Christian,

On Fri, 11 Apr 2025 16:46:07 +0200
Christian Franke wrote:
In rare cases, '/bin/kill -f PID' hangs because kill(2) is always tried
first. With this patch, this could be prevented with '/bin/kill -f -s -
PID'.
I wonder why kill(2) hangs. Do you have any idea?

Sorry no. I observed this in early (Cygwin 3.5.4) testing of stress-ng for ITP, but could no longer reproduce it.

Here are tests which currently (3.7.0-0.51.gd35cc82b5ec1) ignore but not hang kill(pid, SIGKILL):

stress-ng --mprotect 1 -t 5 -v
stress-ng --priv-instr 1 -t 5 -v
stress-ng --sigchld 1 -t 5 -v
stress-ng --sigsegv 1 -t 5 -v

Run this in another window to see that child processes are left behind:

killall -v -9 stress-ng; sleep 4; taskkill /F /T /IM stress-ng.exe

For a minimal testcase regarding --priv-instr, see:
https://sourceware.org/pipermail/cygwin/2025-March/257726.html


If kill(2) hangs in some cases, shouldn't we fix that
rather than patching to kill(1)?

Of course. This feature was intended as a first step for an 'onboard' tool for the CI tests suggested by Jon Turney. A second step could be an --all option to replace 'taskill' or 'pskill'.

--
Regards,
Christian

Reply via email to