cygthread::cygthread() hang

Joe Buehler
Thu Apr 3 15:23:00 GMT 2003

Christopher Faylor wrote:

> h is only set once when the thread is first started up.  cygthread
> threads are persistent to avoid thread creation/exit.
> If this is truly a case of h being NULL in the above, then add code to
> catch that in the ifdef DEBUGGING case.

I added some code in cygthread::new() to make sure that h is set when
new() exits.  I have still run into the problem -- h is 0 when
cygthread::cygthread() tests it.  So it is being clobbered after
new() initializes it.

My guess at this point is that there is something wrong in the
implementation of cygthread::detach() and
cygthread::terminate_thread() -- they were changed/added recently
and terminate_thread() sets h to 0.
Joe Buehler

More information about the Cygwin-developers mailing list