Re[7]: Почему .Net-версия жестко виснет, а C++ - нет?
От: Pavel Dvorkin Россия  
Дата: 17.05.15 12:50
Оценка: 68 (2)
Здравствуйте, Fortnum, Вы писали:

F>Вот так изменил MyProc, время нахождения в lock'е увеличил до секунды, чтобы потоки наверняка пересекались... и, блин, оно заработало! Возвращает TRUE, хотя работать-то, получается, не должно? Ничего не понимаю


Похоже, ты не первый, кто с этой проблемой столкнулся.

http://stackoverflow.com/questions/23598531/deadlock-using-lockfile

Вот здесь есть такое замечание

http://marc.info/?l=apr-dev&m=138244402421112&w=2

"because the LockFileEx() should not be called recursively."

recursively или в разных потоках — в данном случае одно и то же.

Хотя про официальный запрет рекурсии я что-то ничего найти не могу.
With best regards
Pavel Dvorkin
Отредактировано 17.05.2015 12:52 Pavel Dvorkin . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.