Ошибка «resource deadlock would occur» в программировании на C++ возникает, когда вызывающий поток уже является владельцем соответствующего объекта mutex. 1 В таком случае метод lock создаёт исключение systemerror, содержащее код ошибки resourcedeadlockwouldoccur. 1
Программа может перейти в взаимоблокировку, если поток, которому принадлежит объект mutex, вызывает lock для этого объекта. 2 Если реализация способна обнаружить взаимоблокировку, может наблюдаться состояние ошибки resourcedeadlockwould_occur. 23
При этом нет гарантии, что будут выдаваться взаимоблокировочные исключения, поскольку их обнаружение не гарантируется. 2 Обнаружение такой ситуации оставлено на усмотрение реализации. 3