Hallo,
this is a thread from wine-users. I think further discussion of this issue is better done on wine-devel.
In short, Dan Armbrust notices some application (heavy weather.exe) accessing the serial port causing a high system load. As the application uses WaitCommEvent, I fear that my implementation of WaitCommEvent is inappropriate. In my last posting, I ask Dan to count the calls to WaitcommEvent by counting the number of lines containing WaitCommEvent in a relay log. His results are:
"Dan" == Dan Armbrust daniel.armbrust.list@gmail.com writes:
Dan> I let the app run for about 2 minutes, at the standard priority - Dan> basically until the system was about ready to take a dive :)
Dan> Data was coming in to the program and being displayed before I Dan> killed it.
Dan> The count on WaitCommEvent was 15051 - so I guess we would have Dan> 7526 calls to WaitCommEvent in < 2 minutes. It probably took the Dan> first 30 seconds just to get the app up and running, so that was Dan> maybe 90 seconds of actually accessing the serial port.
As Dan's machine is not a "big iron one", I guess these about 7500 thread creation/termination in about 90 seconds could explain the high system load.
In the moment, my implementation of WaitCommEvent creates a thread in the context of the running program for every call. Any ideas how to do it better?
Bye