|
|
Witam,
Mam problem z wychodzeniem z sekcji krytycznej. Wygląda, że aplikacja
się blokuje przy wykonaniu metody Leave(), przynajmniej ostatnim
komunikatem w logu jest "before leaving critical section...". Nie są
generowane żadne wyjątki, przynajmniej nie spadają do logu. Kod jest
umieszczony w DLL. Czy ktoś ma pomysł co może być przyczyną?
Mam taki fragment kodu:
SiMain.LogMessage('Before leaving critical section...' );
Dec( liczbaWejsc );
zdejmijWejscie( procName );
try
SOAP.Leave;
except
on E:Exception do
begin
logException( e, 'EnterCriticalSection.' );
exit;
end;
end;
if liczbaWejsc = 0 then
SiMain.LogMessage(Format('Critical section left. Entry count: %d
(should be zero)',[liczbaWejsc] ))
else
SiMain.LogError(Format('Critical section left. Entry count: %d
(should be zero)',[liczbaWejsc] ))
pozdrawiam
Piotr
|
|