http://bugs.winehq.org/show_bug.cgi?id=34865 --- Comment #5 from Anastasius Focht <focht(a)gmx.net> --- Hello folks, I should really re-read before hitting submit :| It's two years between mailing list post and Andrey's comment. The code underwent several changes/refactorings though there is still a usage of QueueUserAPC() API in current cygwin CVS source: --- snip --- class cygthread { ... cygthread (LPVOID_THREAD_START_ROUTINE start, LPVOID param, const char *name) : __name (name), func ((LPTHREAD_START_ROUTINE) start), arglen (0), arg (param), notify_detached (NULL) { QueueUserAPC (async_create, GetCurrentThread (), (ULONG_PTR) this); } ... /* This function is called via QueueUserAPC. Apparently creating threads asynchronously is a huge performance win on Win64. */ void CALLBACK cygthread::async_create (ULONG_PTR arg) { cygthread *that = (cygthread *) arg; that->create (); ::SetThreadPriority (that->h, THREAD_PRIORITY_HIGHEST); that->zap_h (); } --- snip --- Regards -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.