Holy cow, I wrote a book!
When I wrote about
understanding the consequences of WAIT_ABANDONED,
I mentioned that one of the possible responses was to try to repair
but some people are
suspicious of this approach.
Mind you, I'm suspicious of it, too.
Repairing corruption is hard.
You have to anticipate the possibility,
create enough of a trail to be able to reconstruct the original data
once the corruption is recognized,
and then be able to restore the data to some semblance of consistency.
I didn't say that this was mandatory;
I didn't even say that it was recommended.
I just listed it as one of the options,
an option for the over-achievers out there.
For most cases, attempting repair is overkill.
But you still have to know that something went wrong;
otherwise, one crashed program will lead to more crashed programs
as they try to operate on inconsistent data.
The purpose of the article was to raise awareness of the issue,
based on my observation that most people blindly ignore the
possibility that the mutex was abandoned.