Einzelnen Beitrag anzeigen

DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#14

Re: Thread gegen sich selbst absichern

  Alt 12. Jun 2008, 13:12
Also folgender Fall.

Die Funktion tritt mit Enter ein
und dann wird Application Processmessages aufgerufen..
Jetzt kommt asynchron eine erneuter Funktionsaufruf (bspw. über einen Button)
Der versucht jetzt auch über Enter einzusteigen (und ruf WaitforSing... auf)
Delphi-Quellcode:
Procedure TThreadCriticalSection.Enter;
Begin
  WaitForSingleObject(fSemaphore, INFINITE)
End;
So nun scheint es so als hätten wir einen Deadlock, da der erste Funktionsaufruf es nicht schaft ein Leave aufzurufen, da
der Thread still steht und darauf wartet...

Vielleicht sehe ich es ja auch falsch..

Danke!
  Mit Zitat antworten Zitat