Le RGM appelle la méthode de Démarrage_détecteur sur un noeud pour démarrer le détecteur de pannes une fois une ressource démarrée sur le noeud. La méthode démarrage_détecteur_xfnts utilise scds_pmf_start() pour démarrer le démon du détecteur sous le gestionnaire de processus.
le premier appel de démarrage_détecteur_xfnts est adressé à scds_initialize() exécutant des fonctions de gestion interne nécessaires (pour plus de détails, reportez-vous à la rubrique Fonction scds_initialize() et à la page scds_initialize(3HA) du manuel).
La méthode de démarrage_détecteur_xfnts appelle la méthode de démarrage_mon, définie dans xfnts.c de la manière suivante :
scds_syslog_debug(DBG_LEVEL_HIGH, "Calling Monitor_start method for resource <%s>.", scds_get_resource_name(scds_handle)); /* Appel de scds_pmf_start et transmission du nom de la sonde. */ err = scds_pmf_start(scds_handle, SCDS_PMF_TYPE_MON, SCDS_PMF_SINGLE_INSTANCE, "xfnts_probe", 0); if (err != SCHA_ERR_NOERR) { scds_syslog(LOG_ERR, "Failed to start fault monitor."); return (1); } scds_syslog(LOG_INFO, "Started the fault monitor."); return (SCHA_ERR_NOERR); /* Successfully started Monitor */ }
Remarquez les points suivants sur l'appel de svc_mon_start() adressé à la fonction scds_pmf_start() :
Le paramètre SCDS_PMF_TYPE_MON identifie le programme à démarrer comme un détecteur de pannes (cette méthode peut également démarrer un service de données ou un autre type d'application).
Le paramètre SCDS_PMF_SINGLE_INSTANCE l'identifie comme une ressource à instance unique.
Le paramètre xfnts_probe identifie le démon du détecteur à démarrer. Le système suppose que le démon du détecteur se trouve dans le même répertoire que les autres programmes de rappel.
Le paramètre final, 0, spécifie le niveau de surveillance enfant. Dans ce cas, seul le démon du détecteur est surveillé.
avant sa fermeture, la méthode de démarrage_détecteur_xfnts appelle scds_close() pour récupérer les ressources allouées par scds_initialize(). Reportez-vous à la rubrique Fonction scds_initialize() et à la page scds_close(3HA) du manuel pour plus de détails.