How to detect a cygwin thread?

Piotr Wyderski
Sat May 9 10:27:00 GMT 2009

My program has a built-in panic handler, which enumerates
all process threads using the CreateToolhelp32Snapshot
WinAPI function and then suspends them (except itself)
in order to freeze the entire environment in a state as close
as possible to the original error conditions. Unfortunately it
also stops the internal Cygwin thread (which seems to spend
most of its time in cygwin1.dll!toascii+0x15d0) and the entire
process hangs. Is there a way to identify those Cygwin
threads in order not to suspend them? There is a function

  extern "C" DWORD cygwin_internal()

specified as "This function gives you access to various
internal data and functions", so perhaps it could help me?
If not, then how do I achieve the goal specified above?

Best regards
Piotr Wyderski

More information about the Cygwin-developers mailing list