Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Как узнать, что объект залочен критической секцией


Автор: Alca 15.1.2010, 12:21
Как узнать, что объект (std::list) залочен критической секцией?

Автор: artsb 15.1.2010, 12:27
Может поможет: http://msdn.microsoft.com/en-us/library/ms686857%28VS.85%29.aspx

Автор: Alca 15.1.2010, 12:29
Тоже думал об этом smile 

Автор: artsb 15.1.2010, 12:29
Т.е. что-то типа:
Код

if(TryEnterCriticalSection(lpCS)) {
 LeaveCriticalSection(lpCS);
 // незалочен
}
else {
 // залочен
}



Добавлено @ 12:32
Цитата(Alca @  15.1.2010,  12:29 Найти цитируемый пост)
Тоже думал об этом

Ещё можно флаг юзать. Каждый раз перед:
Код

flag = true;
EnterCriticalSection(lpCS);

, а после
Код

LeaveCriticalSection(lpCS);
flag = false;

И проверять флаг где нужно.

Добавлено через 3 минуты и 45 секунд
Хотя с флагом могут быть проблемы ИМХО...

Автор: Alca 15.1.2010, 12:35
Цитата

Хотя с флагом могут быть проблемы ИМХО...

Согласен, лучше TryEnterCriticalSection юзать

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)