Hopefully, the below information will prove useful regarding this discussion:
I have an app (United Devices), a distributed computing type program that is reliant upon threading priorities and remote operation processes. Under Windows98 -> me, the process tree looks as such:
kernel32 Pri class High(13), 8 threads: TimeCrit(15), Norm(13), Lowest(11) |_msgsvr32 Pri class Norm(8), 1 thread Norm(8) |_explorer.exe Pri class Norm(8), 6 threads: AboveNorm(9), Norm(8), Lowest(6) |_UD.exe Pri class Norm(8), 3 threads Norm(8) |_UD_xxxxxxx.exe Pri class Idle(4), Norm(4), Idle(1) |_UD_ligfit_Release.exe Pri class Idle(4), 2 threads Norm(4), Idle(1) <== working BG process thread
The working back ground process thread is programed to utilize all available CPU time but immediately relinquish the CPU to any user, sytem or other app requests hence the Idle(1) priority. Please see http://members.toast.net/obc/t_ud10.html for a screen shot of the task manager process tree used to discover this info if usefull. All these priorities are static btw.
I recently patched my Wine with Alexander Yaworky's "Remote Opertaions" patch submittal to see how the app would respond. Basically, the app runs fine and does most everything expected under Windows except, upon completion of a work unit when the user interface (the Agent) is supposed to take over and close all the "BG working threads", compress the Work Unit file to prepare for uploading, the whole app goes to idle. Upon closing the Agent, the following Wine err msg appears while the two ligfit threads are left active when they should have been shut down by closing the Agent using the app exit procedure.
Wine err msg after exiting application:
err:ntdll:RtlpWaitForCriticalSection section 0x401f001c "?" wait timed out in thread 0011, blocked by 0010, retrying (60 sec)
I must manually kill both those threads to restart the Agent under Wine to resume processing whereas it sometimes will complete, upload, retrieve a new
work unit and process only to repeat this cycle again. I attached the outputs of ps -Afm --forest and top while Agent is in progress in the hopes of providing useful info. I also tried renice'ing the bg process threads and the wineserver to +19 but same problem so that doesn't appear to be a workaround for this app.
Thanks, Roger