◄ Wiki / OS
deadlock
Two tasks each frozen forever, each waiting for a resource the other is holding.
A deadlock happens when parties hold locks and simultaneously wait on each other, so none can proceed and the system hangs. It is a classic hazard of concurrent programming. A particularly nasty case is a lock taken in a fault-handling path, which could deadlock the very fault it was supposed to help recover from.
See also
- faultA CPU exception raised when a program does something illegal, like touching memory it shouldn't.