The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"pthreads_mutex_unlock hangs =((("
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"pthreads_mutex_unlock hangs =((("  
Сообщение от Niam on 27-Мрт-06, 21:07 
Вот в принципе такая штукенция - pthreads_mutex_unlock на системе freeBSD 4.7 вешается. 100%, что mutex свободен, нормально работает на linux 2.4, 2.6, freeBSD 6.0.

Что ж может быть? пользую я linuxthreads.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "pthreads_mutex_unlock hangs =((("  
Сообщение от DeadMustdie email(??) on 28-Мрт-06, 09:08 
>Вот в принципе такая штукенция - pthreads_mutex_unlock на системе freeBSD 4.7 вешается.
>100%, что mutex свободен, нормально работает на linux 2.4, 2.6, freeBSD 6.0.

Цитата из SUSv3:

"If the mutex type is PTHREAD_MUTEX_NORMAL, deadlock detection shall not be provided. Attempting to relock the mutex causes deadlock. *If a thread attempts to unlock a mutex that it has not locked or a mutex which is unlocked, undefined behavior results.*"

То бишь если мьютекс при вызове unlock "100% свободен", либо захвачен другим потоком, то pthreads Вам ничем не обязаны. :)

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "pthreads_mutex_unlock hangs =((("  
Сообщение от Niam on 29-Мрт-06, 02:35 
>>Вот в принципе такая штукенция - pthreads_mutex_unlock на системе freeBSD 4.7 вешается.
>>100%, что mutex свободен, нормально работает на linux 2.4, 2.6, freeBSD 6.0.
>
>Цитата из SUSv3:
>
>"If the mutex type is PTHREAD_MUTEX_NORMAL, deadlock detection shall not be provided.
>Attempting to relock the mutex causes deadlock. *If a thread attempts
>to unlock a mutex that it has not locked or a
>mutex which is unlocked, undefined behavior results.*"
>
>То бишь если мьютекс при вызове unlock "100% свободен", либо захвачен другим
>потоком, то pthreads Вам ничем не обязаны. :)


Тоесть в итоге получается, что надо проверять try_lock вызовом ... ну что же, ничего, спасибо!!!
Хотя это в общем странно, что поведение никак не описано =(

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру