Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.130 Beiträge
 
Delphi 10.3 Rio
 
#1

IPC / MMF / Mutex Syncronisationsproblem

  Alt 10. Feb 2009, 10:13
Hallo Zusammen!

Folgendes Problem...

Ich habe einen Systemdienst und eine Anwendung...

Der Systemdienst holt sich einen Mutex mit:

PutterMutex := CreateMutex(nil, true, PutterMutexName); Die Anwendung wartet mit:

Delphi-Quellcode:
PutterMutex := CreateMutex(nil, false, PutterMutexName);
repeat
  if WaitForSingleObject(PutterMutex, 30000)=WAIT_OBJECT_0 then
   begin
// HoleShared Memory

// ... Tuwas

     ReleaseMutex(PutterMutex) // Signal Anwendung hats abgeholt
   end;

 
Until ...
Der Service hat jetzt eine Schleife:

Delphi-Quellcode:
for y:=0 to Yanz-1 do
  for x:= 0 to Xanz-1 do
    begin
      // Belege Shared Memory
      ReleaseMutex(PutterMutex); // Signal DataDa, ich war owner

      if WaitForSingleObject(PutterMutex, 20000)<>WAIT_OBJECT_0 then // Warte auf Abgeholt...
        result := false;
    end;
Soweit so gut...

Das Funktioniert auch im Prinzip, jedoch erhalte ich auf der Seite der Application nicht alle Werte aller
Schleifendurchläufe... Sondern nur (Für X z.B. 0,2,4,6,8 ) Es wird also nur jeder 2. Übergeben..
Dies ist jedoch nicht regelmäßig manchmal funktionieren auch aufeinanderfolgende... Aber eher selten...

Wo liegt mein Fehler?

Grüsse Frank
  Mit Zitat antworten Zitat