Well I believe I have found and fixed the screen saver issue that has been plaguing the BOINC community since shortly after the 6.2 launch.
This bug wasn't easy to track down, and was something of a perfect storm as far as the code was concerned.
The prerequisites for this bug were:
We had some backup code in the screen saver to check for keyboard and mouse activity separately from the project application but after the graphics application deadlocks that code was no longer being executed.
The reason that code was no longer being executed stems from the fact that the BroadcastSystemMessage() Windows API waits for a success/failure return value from the application to which it was sending, since the graphics application itself was deadlocked it caused the screen saver to lock up.
I didn't realize that the BroadcastSystemMessage() API would not timeout on a hung application. So I learned something new this weekend.
If all goes according to plan I'll be releasing a new 6.4 client as well as a 6.6 client with the screen saver fixes today.
Powered by: newtelligence dasBlog 2.3.9074.18820
The opinions expressed herein are my own personal opinions and do
not represent my employer's view in any way.
© Copyright 2020, Rom Walton