Здравствуйте, bratka, Вы писали:
B>>//thread B:
B>>~someclass(){
B>> mytype* tmptpr=nash_shared_ptr.get();
B>> sem_post(nash_shared_ptr.get()->semaphore); // очень скользко — смотрим ниже
B>> sem_post(nash_shared_ptr.get()->semaphore); // для надежности
B>> pthread_mutex_lock(tmpptr->ptr_lock); // очень надеемся, что мы заблокировали мьютекс сами, а не попали в очередной дедлок ...
B>// ошибку допустил, исправляю:
/// B>pthread_mutex_lock(tmpptr->ptr_lock); // unlock before destroy. --- copy-paste not works without correction
pthread_mutex_unlock(tmpptr->ptr_lock); // !!!!!!!!!!!!! DNA error of the coder.
B>> pthread_mutex_destroy(tmpptr->ptr_lock);
B>>}
B>>// умираем , и nash_shared_ptr оходит в мир иной вместе с прощальной песней деструктора
B>>Похоже у меня проблема где-то на генетическом уровне
B>суть проблемы правда от этого не изменилась.