RGM invoca el método Monitor_start en un nodo para iniciar el supervisor de fallos después de que se inicie un recurso en el nodo. El método xfnts_monitor_start utiliza scds_pmf_start() para iniciar el daemon del supervisor bajo PMF.
La primera llamada de xfnts_monitor_start es a scds_initialize(), que ejecuta ciertas tareas domésticas necesarias (Función scds_initialize() y la página de comando man scds_initialize(3HA) ofrecen información más detallada).
El método xfnts_monitor_start invoca el método mon_start, definido en xfnts.c como sigue:
scds_syslog_debug(DBG_LEVEL_HIGH, "Llamar al método Monitor_start para el recurso <%s>.", scds_get_resource_name(scds_handle)); /* Invocar scds_pmf_start y pasar el nombre del analizador. */ 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, "No se ha podido iniciar el supervisor de fallos."); return (1); } scds_syslog(LOG_INFO, "Se ha iniciado el supervisor de fallos."); return (SCHA_ERR_NOERR); /* Supervisor de fallos iniciado satisfactoriamente */ }
Observe lo siguiente sobre la llamada de svc_mon_start() a la función scds_pmf_start().
El parámetro SCDS_PMF_TYPE_MON identifica el programa que se va a iniciar como supervisor de fallos; este método también puede iniciar un servicio de datos u otro tipo de aplicación.
El parámetro SCDS_PMF_SINGLE_INSTANCE lo identifica como un recurso de una sola instancia.
El parámetro xfnts_probe identifica el daemon de supervisor que se debe iniciar. Se presupone que el daemon del supervisor está en el mismo directorio que los otros programas de rellamada.
El parámetro final, 0, especifica el nivel de supervisión de secundarios; en este caso, sólo se supervisa el daemon del supervisor.
Antes de salir, el método xfnts_monitor_start invoca scds_close() para reclamar recursos asignados por scds_initialize(). Consulte Función scds_initialize() y la página de comando man scds_close(3HA) para obtener más detalles.