killpg(pgid, 0) fails if the process is in the middle of spawnve()
Corinna Vinschen
corinna-cygwin@cygwin.com
Thu May 19 07:46:05 GMT 2022
On May 19 13:51, Jun T wrote:
>
> > 2022/05/18 23:54, Corinna Vinschen <corinna-cygwin@cygwin.com> wrote:
> >
> > For a start, can you try the above patch?
>
> Thanks for a quick response. The patch seems to solve the problem.
> Of course there is a possibility that it happens with very low probability,
> but I haven't get the problem by running 'cmd | less' many times, say
> fifty times or so.
>
> I didn't notice any bad side effects, and I guess the probability is
> very low if it ever happens (so not easy to detect it).
> # I tried running 'ls | less' several times while running
> # while true; do ps; done
> # in another terminal, but didn't get duplicated processes.
Great, thanks for testing. I'll push the patch as is for now.
> PS:
> I'm new to building cygwin1.dll by myself, and have a few questions:
> (1) After make, I've manually copied new-cygwin1.dll to /bin/cygwin1.dll.
> I didn't copy/install any other files. Is this OK?
Yes.
> (2) What are cygwin0.dll and cygwin1.dbg? The latter is a new cygwin1.dll
> with debug info?
cygwin0.dll is an intermediate stage during build, cygwin1.dbg is the
debuginfo file. For quick debugging, you can just copy it alongside the
DLL into /bin.
> (3) Is there a simple way to build only new-cygwin1.dll (and anything
> required by it), without building (or trying to build) unnecessary
> things (especially documents)?
configure --disable-doc
Everything else is built unconditionally. If you tweak sources
inside ${srcdir}/winsup/cygwin only, it's usually sufficient to rebuild
inside ${builddir}/x86_64-pc-cygwin/winsup/cygwin only, unless you
change the layout/size of data structures. A build from toplevel
should be performed then.
Thanks,
Corinna
More information about the Cygwin
mailing list