LINUX.ORG.RU

История изменений

Исправление shkolnick-kun, (текущая версия) :

Для начала изучи документацию

Там вроде как есть atomic_dec_and_mutex_lock на случай подсчета ссылок. Если ты серьезно хочешь заморочиться с подсчетом ссылок.

Как правильно удалить мутекс, если там будут висеть потоки?

Не удалять его до завершения всех возможных лочащих потоков.

Насколько я понимаю, структура создается в потоке, иначе не имеет смыла использовать мьютексы.

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

Исходная версия shkolnick-kun, :

Для начала изучи документацию

Там вроде как есть atomic_dec_and_mutex_lock на случай подсчета ссылок. Если ты серьезно хочешь заморочиться с подсчетом ссылок.

Как правильно удалить мутекс, если там будут висеть потоки?

Не удалять его до завершения всех возможных лочащих потоков.

Насколько я понимаю, структура создается в потоке, иначе не имеет смыла использовать мьютексы.

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