You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a problem for both the hooks and the hooks code itself.
It's particularly evil for applications using critical sections, mutexes, semaphores etc as this can cause different kinds of deadlocks and crashes as these things may be active during save-states, and are never released, then code may come through the path again, waiting for an object that will never become free.
The internal critical sections need to be rewritten to become atomic gates. This can however not be done to replace anything on application level sync objects. A sync object is defined as any object that can be waited upon with WaitForSingleObject and family.
All of these sync objects need to have a struct with the information connected with each event. With this the objects can then be watched from the application side of Hourglass and threads calling WaitForSingleObject (or related call) can instead go to sleep and be woken by Hourglass when the object(s) are signaled.
The text was updated successfully, but these errors were encountered:
This is a problem for both the hooks and the
hooks
code itself.It's particularly evil for applications using critical sections, mutexes, semaphores etc as this can cause different kinds of deadlocks and crashes as these things may be active during save-states, and are never released, then code may come through the path again, waiting for an object that will never become free.
The internal critical sections need to be rewritten to become atomic gates. This can however not be done to replace anything on application level sync objects. A sync object is defined as any object that can be waited upon with
WaitForSingleObject
and family.All of these sync objects need to have a
struct
with the information connected with each event. With this the objects can then be watched from theapplication
side of Hourglass and threads callingWaitForSingleObject
(or related call) can instead go to sleep and be woken by Hourglass when the object(s) are signaled.The text was updated successfully, but these errors were encountered: