DevCon for OS/2 - Developer Connection |
Operating systems: ArcaOS, eComStation, IBM OS/2 Warp |
![]()
|
|
WinRequestMutexSem()
Классический дидлок - это два мютекса, захват которых производится в разных нитках в разном порядке. Будет проблема. Выход - всегда захватывать в одном порядке. Но вот проблема, использование WinSendMsg как бы добавляет второй неявный мютекс, т.е. если между захватом и освобождением мютексов юзается WinSendMsg, то тут порядок такой - захват мютекса, потом захват неявного мютекса очереди, а если вызов произошел из обработчика очереди - то сначала захват мютекса очереди, потом захват мютекса нужного ресурса. классический дидлок Конечно, если между захватами нету сендов, то не страшно. Но кто в большой программе сможет такое гарантировать? WinRequestMutexSem пытается захватить укзанный мютекс, не захватывая очередь. Т.е. если еще одна нитка сделает send - он пройдет. Только post будет накапливаться. Работает он с той же скоростью что и обычный. Вывод - во всех PM апликухах от греха подальше заменить DosRequestMutexSem на WinRequestMutexSem. (thx Glassman) |
|
||
ArcaOS 5.1.1 что нового? - PNG иконкиТеперь PNG иконки на рабочем столе (вместо древних .ico 1994-го года) |
Мы напоминаем про заслуги eComStationНаш сайт - единственный про OS/2, где напоминаем про заслуги eComStation, за основу была взята OS/2 Warp, разработка велась с 1999.. 2001.. по 2013-ый годы. |
// надо на ENG!!
![]()
Купить программу OS/2:
LIP пакет - Пакет русификации ArcaOS / eComStation,
|
Warpstock Europe 2025Конференция Warpstock Europe про OS/2 запланирована на весну 2025. eCo Software не участвует в этом году. |