[PATCH 1/1] Cygwin: don't allow getpgrp() to fail

Corinna Vinschen corinna-cygwin@cygwin.com
Tue Jul 23 16:59:00 GMT 2019


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.


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/ee3d53d5/attachment.sig>


More information about the Cygwin-patches mailing list