Forum: Object-Pascal / Delphi-Language
Delphi
by BiedermannS,
12. Mai 2014
Die Antwort von BUG hat mich letztendlich in die richtige Richtung geleitet. Ich brauche die Rekursion nur dann verbieten wenn, wenn der Lock für darunterliegende Aufrufe nicht verfügbar ist. Da ich zu Hause kein Delphi habe, hab ich das auch nicht wirklich testen können.
Nach einem initialen Test habe ich festgestellt, dass eine rekursive Funktion sich nicht selbst locked, da dies anscheinend...
Forum: Object-Pascal / Delphi-Language
Delphi
by BiedermannS,
11. Mai 2014
Andere Threads können die Methode ja aufrufen, allerdings soll eine Rekursion verhindert werden. Also z.B.:
procedure CriticalCode;
begin
Locked(CriticalCode);
end;
Das führt nämlich unweigerlich zum Deadlock und das möchte ich verhindern, indem ich überprüfe ob die übergebene Methode gleich der aufrufenden Methode ist.