Информация об изменениях

Сообщение Re[7]: Почему .Net-версия жестко виснет, а C++ - нет? от 17.05.2015 12:50

Изменено 17.05.2015 12:52 Pavel Dvorkin

Здравствуйте, 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 или в разных потоках — в данном случае одно и то же.

Хотя про фоициальный запрет рекурсии я что-то ничего найти не могу.
Re[7]: Почему .Net-версия жестко виснет, а C++ - нет?
Здравствуйте, 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 или в разных потоках — в данном случае одно и то же.

Хотя про официальный запрет рекурсии я что-то ничего найти не могу.