If you don’t want to try to repair the data, then don’t, but you should at least know that you have corrupted data

Raymond Chen

When I wrote about understanding the consequences of WAIT_ABANDONED, I mentioned that one of the possible responses was to try to repair the damage, 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.

0 comments

Discussion is closed.

Feedback usabilla icon