On 1/13/2022 1:40 AM, Jay K wrote:
I don't know why I didn't get the reply in email, but this is representative of 
the real world code.

  - Jay


From: Jay K <jayk...@hotmail.com>
Sent: Wednesday, January 12, 2022 6:27 AM
To: cyg...@sourceware.org <cyg...@sourceware.org>
Subject: Re: proc_waiter: error on read of child wait pipe 0x0, Win32 error 6
Ok, here is a small demonstration of the problem.

#include <stdlib.h>
#include <stdio.h>
#include <windows.h>

unsigned __stdcall thread(void* p)
{
   unsigned i;
   for (i = 0; i < 100; ++i)
    system("./a.exe");
   return 0;
}

int main()
{
unsigned i;
HANDLE threads[100] = {0};
FILE* f = fopen("a.c", "w");
fprintf(f, "int main() { return 0; }\n");
fclose(f);

system("g++ a.c");

for (i = 0; i < 100; ++i)
  threads[i] = CreateThread(0, 0, thread, 0,0,0);

for (i = 0; i < 100; ++i)
  WaitForSingleObject(threads[i], -1);

}

Again, Cygwin is designed to provide a POSIX-like interface.
Maybe you should just be using a Windows C compiler?

EM

--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to