[PATCH 1/1] Cygwin: don't allow getpgrp() to fail
Corinna Vinschen
corinna-cygwin@cygwin.com
Tue Jul 23 17:05:00 GMT 2019
On Jul 23 18:59, Corinna Vinschen wrote:
> On Jul 23 18:54, Corinna Vinschen wrote:
> > Hi Ken,
> >
> > On Jul 23 16:12, Ken Brown wrote:
> > > According to POSIX, "The getpgrp() function shall always be successful
> > > and no return value is reserved to indicate an error." Cygwin's
> > > getpgrp() is defined in terms of getpgid(), which is allowed to fail.
> >
> > But it shouldn't fail for the current process. Why should pinfo::init
> > fail for myself if it begins like this?
> >
> > if (myself && n == myself->pid)
> > {
> > procinfo = myself;
> > destroy = 0;
> > return;
> > }
> >
> > I fear this patch would only cover up the problem still persisting
> > under the hood.
> >
> > > Change getpgrp() so that it doesn't fail even if getpgid() fails.
> >
> > Instead of calling getpgid(0), we could just as well return
> > myself->pgid. This never fails for sure.
>
> Just a hunch: The only reason for pinfo::init failing in GDB I can think
> of is if the call is too early in the lifetime of the process. Myself
> might not be set up yet.
No, wrong. myself is set to &myself_initial at process startup so
it's never NULL. The pid is probably incorrect at this time, as long
as pinfo::thisproc hasn't been called.
Corinna
--
Corinna Vinschen
Cygwin Maintainer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20190723/dc7ccfd4/attachment.sig>
More information about the Cygwin-patches
mailing list