Guide des développeurs pour les services de données Sun Cluster pour SE Solaris

Méthode xfnts_update

Le RGM appelle la méthode Update pour notifier à une ressource en cours d'exécution que ses propriétés ont été modifiées. Il appelle Update après l'exécution réussie d'une action administrative de paramétrage des propriétés d'une ressource ou de son groupe.


Exemple C–8 xfnts_update.c

#pragma ident “@(#)xfnts_update.c  1.10     01/01/18 SMI”

/*
 * Copyright (c) 1998-2003 par Sun Microsystems, Inc.
* Tous droits réservés.
*
* xfnts_update.c - Update method for HA-XFS
 */

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <rgm/libdsdev.h>

/*
 * Certaines des propriétés de ressource peuvent avoir été mises à jour. Toutes
* ces propriétés qu’il est possible de mettre à jour sont liées au système de
* détection des pannes. Par conséquent, il suffit normalement de redémarrer
* le détecteur.
 */

int
main(int argc, char *argv[])
{
   scds_handle_t   scds_handle;
   scha_err_t   result;

   /*Traitez les arguments passés par le RGM et initialisez syslog */
   if (scds_initialize(&scds_handle, argc, argv) != SCHA_ERR_NOERR)
{
      scds_syslog(LOG_ERR, “Failed to initialize the handle.”);
      return (1);
   }

   /*
    * Vérifiez si le système de détection des pannes fonctionne déjà et arrêtez-le
    * le cas échéant, puis redémarrez-le. Le second paramètre de scds_pmf_restart_fm()
* identifie uniquement l’instance du système de détection des pannes qui doit être
* redémarré.
    */

   scds_syslog(LOG_INFO, “Restarting the fault monitor.”);
   result = scds_pmf_restart_fm(scds_handle, 0);
   if (result != SCHA_ERR_NOERR) {
      scds_syslog(LOG_ERR,
          “Failed to restart fault monitor.”);
      /* Libérez toute la mémoire allouée par scds_initialize */
      scds_close(&scds_handle);
      return (1);
   }

   scds_syslog(LOG_INFO,
       “Completed successfully.”);

   /* Libérez toute la mémoire allouée par scds_initialize */
   scds_close(&scds_handle);

   return (0);
}