[Bug 34865] 64-bit mingw toolchain from Rtools fails to execute (cygwin 1.7.15-1, queued user APC not executed for signal handling)

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Jan 8 16:30:49 CST 2014


http://bugs.winehq.org/show_bug.cgi?id=34865

--- Comment #5 from Anastasius Focht <focht at 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.



More information about the wine-bugs mailing list