Why I like Linux
You’ll never see this in an MS document:
From Rusty’s Unreliable Guide To Locking:
Deadlocks are problematic, but not as bad as data corruption. Code which grabs a read lock, searches a list, fails to find what it wants, drops the read lock, grabs a write lock and inserts the object has a race condition.
If you don’t see why, please stay the fuck away from my code.