Another possibility is that someone is erroneously calling detach() on a cygthread that does not belong to him. Are cygthreads always detached only by the thread that creates them? In which case I could store the creating thread id in the cygthread and make sure no one else tries detach(). -- Joe Buehler