Well, a blocking mutex like this only works if you have a critical section the entire time it's locked. Otherwise: - Thread locks mutex - Interrupt fires, tries to lock - Already locked, so blocks - We're always in interrupt and the thread can't ever unlock the mutex