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
signature.asc
Description: PGP signature