Re[6]: weak_ptr, shared_ptr, thread safety. Вопрос по блокир
От: bratka  
Дата: 28.03.06 17:00
Оценка:
Здравствуйте, 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>суть проблемы правда от этого не изменилась.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.