LRESULT DoSomething()
{
EnterCriticalSection(&cs);
if (...)
return 1;
LeaveCriticalSection(&cs);
return 0;
}
Wydaje mi się, że nie wolno wyjść z funkcji przed wywołaniem LeaveCriticalSection(). Czy mam rację? Co może spowodować powyższy kod, gdy warunek w if-ie będzie spełniony? Dodam, że tego typu numer widzę w dość rozbudowanych aplikacjach pisanych przez osoby, które jak mniemam - znają się na tym co tworzą. Ale odnoszę wrażenie iż w tym wypadku z pośpiechu coś przeoczyli.