Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Die Stop-Methode

Die Stop-Rückmeldemethode einer Ressourcentypimplementierung wird von RGM auf einem Cluster-Knoten aufgerufen, um die Anwendung zu stoppen. Für die Rückmeldesemantik der Stop-Methode gelten folgende Voraussetzungen:

Das DSDL-Dienstprogramm scds_pmf_stop() düfte für die meisten Anwendungen ausreichend sein. Es versucht zunächst, die Anwendung weich zu stoppen (mithilfe von SIGTERM), wobei sie davon ausgeht, dass die Anwendung unter PMF über scds_pmf_start() gestartet wurde. Darauf folgt SIGKILL, um das Beenden des Prozesses zu erzwingen. Einzelheiten zu diesem Dienstprogramm finden Sie unter PMF-Funktionen.

Dem bislang hier verwendeten Codemodell entsprechend, und ausgehend von der Annahme, dass die anwendungsspezifische Funktion zum Stoppen der Anwendung svc_stop() ist (ob die Implementierung von svc_stop() die scds_pmf_stop()-Methode verwendet, spielt hier keine Rolle, und hängt davon ab, ob die Methode unter PMF über die Start-Methode gestartet wurde), kann die Stop-Methode folgendermaßen implementiert werden:

if (scds_initialize(&handle, argc, argv)!= SCHA_ERR_NOERR)
{
   return (1);   /* Initialisierungsfehler */
}
return (svc_stop(handle));

Die svc_validate()-Methode wird in der Implementierung der Stop-Methode nicht verwendet, denn die Stop-Methode muss selbst bei einem aktuellen Systemproblem versuchen, die Anwendung auf diesem Knoten zu stoppen.