This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Intermittent failures retrieving process exit codes

Hi Tom,

On Nov 13 23:01, Tom Honermann wrote:
> On 12/21/2012 01:30 AM, Tom Honermann wrote:
> >[...]
> >When the race condition results in the undesirable outcome, the exit
> >code for the process is set to the exit code for the secondary thread's
> >call to ExitThread().  I can only speculate at this point, but my guess
> >is that the TerminateProcess() code disassociates the calling thread
> >from the process before other threads are stopped such that
> >ExitThread(), concurrently running in another thread, may determine that
> >the calling thread is the last thread of the process and overwrite the
> >process exit code.
> >[...]
> Time passes...
> I worked with some former colleagues to report this issue to
> Microsoft.  Windows 8.1 and Windows Server 2012 R2 contain a fix
> that addresses the test case above.  A hotfix has been made
> available for Windows 7 SP1 and Windows Server 2008 R2.  Should
> anyone desire a hotfix for other versions of Windows, it will be
> necessary to open a case with Microsoft to request it.
> Tom.

thanks for letting us know!

I'm very glad to read that this is an OS bug and a fix is available.

At least partially.  I'm a bit confused.  As far as I understand it this
is the situation now:

  Vista/2008 and earlier:  no fix available.
  W7/2008R2:               only hotfix for manual installation
  W8/2012:                 no fix available.
  W8.1/2012R2:             fixed.

Did I get that right?  That sounds a bit weird...

Thanks again,

Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: pgp1WJQzgD1Wg.pgp
Description: PGP signature

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]