Ваша оболочка должна отслеживать, имеет ли она уже заблокированную запись в этом потоке.Вы можете сделать это несколькими способами, но, глядя на то, как популярные библиотеки ilke boost или ACE , это, вероятно, поможет.
Вам следует рассмотреть возможность использования одной из следующихэти существующие библиотеки и пропустите заботы и усилия по повторной реализации того, что, вероятно, было сделано ранее.