acadia-newlib/winsup
Corinna Vinschen 1b86dd7d8c Cygwin: make sure exec'ed process exists early in process list
killpg(pgid, 0) (or kill_pgrp(pgid, si_signo=0), in signal.cc)
fails (returns -1) even when there is a process in the process
group pgid, if the process is in the middle of spawnve(), see

  https://cygwin.com/pipermail/cygwin/2022-May/251479.html

When exec'ing a process the assumption is that the exec'ed process creates its
own symlink (in pinfo::thisproc() in pinfo.cc). If the exec'ing process
calls NtClose on it's own winpid symlink, but the exec'ed process didn't
progress enough into initialization, there's a slim chance that neither
the exec'ing process, nor the exec'ed process has a winpid symlink
attached.

Always create the winpid symlink in spawn.cc, even for exec'ed Cygwin
processes.  Make sure to dup the handle into the new process, and stop
creating the winpid symlink in exec'ed processes.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2022-05-19 10:46:41 +02:00
..
CVSChangeLogs.old
cygserver
cygwin Cygwin: make sure exec'ed process exists early in process list 2022-05-19 10:46:41 +02:00
doc Cygwin: Implement GSO/GRO support 2022-05-13 11:11:38 +02:00
testsuite
utils Cygwin: pty: Fix script command crash on console in Win7. 2022-05-15 07:25:56 +09:00
CONTRIBUTORS
COPYING
COPYING.LIB
CYGWIN_LICENSE
Makefile.am
Makefile.am.common
README
acinclude.m4
autogen.sh
configure.ac Cygwin: revamp TLS offsets computation 2022-05-13 14:11:58 +02:00

README

THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESSED OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Cygwin documentation is available on the net at https://cygwin.com
You might especially be interested in

https://cygwin.com/faq/faq.html#faq.programming.building-cygwin