Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#4

AW: Mehrfachausführung eines CGI

  Alt 6. Jul 2013, 21:32
Hallo,

ich gehe davon aus, dass der Mutex nur innerhalb der Session gültig ist, in der das CGI-Programm gestartet wurde. Hast Du zwei Tabs, sind es (vermutlich) zwei Sessions, die sich untereinander nicht sehen.

Das ist jetzt zugegeben nur reines Spekulatius von mir.

Alternative Lösung:

Das CGI schreibt in eine Datei, Datenbank... hinein, dass es läuft und entfernt diesen Eintrag beim Beenden. Beim Start prüft es zuerst, ob es diesen Eintrag gibt, wenn ja, beendet es sich (mit entsprechender Meldung als HTML-Seite?).

Auf die Existenz einer Datei zu prüfen, dürfte hier die "billigste" Lösung sein, da nur ca. 3 bis 5 Zeilen Quelltext erforderlich sind.

Problem dabei:

Sollte das Programm sich mal nicht korrekt beenden, bleibt der Eintrag bestehen und es erfolgt kein erneuter Start des Programmes, bis eine manuelle Bereinigung erfolgte.

Dieses Problem kann aber auch bei funktionierendem Mutex auftreten, wenn das Programm diesen zwar setzen kann, aber dann abraucht. Der Mutex bleibt auch dann bestehen.

In dem Fall ist das Wegräumen einer überflüssigen Datei aber einfacher.
  Mit Zitat antworten Zitat