[10:23:50] <Kemet> ну воот, пока Инфо упорствует в своём невежестве, люди делают систему более устойчивой и отладиваемой
Implemented release lock upon trap in exclusive region (and raise a trap again).

A trap within (particularly within an exclusive section) is considered a programming error and leaving the object in an inconsistent state is unacceptable.
However, leaving the object in an inconsistent state AND locked is usually worse. We choose the smaller of the two evils in order to keep the system (in particular the window manager) in a potentially recoverable state. This also leaves the possibility to patch bugs in a running system.