[Wine] Threading issue

jwong wineforum-user at winehq.org
Tue Apr 12 10:25:31 CDT 2011


I have both a Windows app and a Cocoa Mac app. I am going to have my Windows app run under Wine on OSX. I would like the Mac app to trigger an event in my Windows app. I have thus far been able to accomplish this with use of the  Cocoa NSDistributedNotificationCenter. 

To give a little background, my Windows app loads a winelib dll which has a handler for a specific NSNotification and calls a function in my Windows app. The winelib dll is passed a function pointer  (for now lets call it myfunc()) during startup. Simple memory operations work great within myfunc(). I am able to modify and view simple global variables in my Windows app such as integers (I havent tried a C++ class). The problem is I cannot perform operations such as creating a new thread (using afxbeginthread()) within my Windows app or use EnterCriticalSection() and LeaveCriticalSection(). Whenever I call any of these function the thread appears to get stuck in an infinite loop. I know a thread has been created and hangs because the CPU usage instantly increases to roughly 70% and never decreases as soon as the handler is called.

Note: if I call myfunc() directly from within my Windows code, myfunc() operates as expected (no hanging or increase in CPU usage).







More information about the wine-users mailing list