RGM llama al método Monitor_start en un nodo para iniciar el supervisor de fallos después de iniciar el recurso en ese nodo. El método xfnts_start utiliza scds_pmf_start() para iniciar el daemon del supervisor bajo el control de PMF.
La primera llamada de xfnts_monitor_start va dirigida a scds_initialize(), que realiza algunas funciones de mantenimiento necesarias. Para obtener más información, consulte Función scds_initialize() y la página de comando man scds_initialize(3HA).
El método xfnts_monitor_start llama al método mon_start , que se define en el archivo xfnts.c, de la siguiente forma:
scds_syslog_debug(DBG_LEVEL_HIGH, "Calling Monitor_start method for resource <%s>.", scds_get_resource_name(scds_handle)); /* Call scds_pmf_start and pass the name of the probe. */ 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 */ }
Tenga en cuenta los siguientes puntos acerca de la llamada de svc_mon_start() a la función scds_pmf_start():
El argumento 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 o cualquier otro tipo de aplicación.
El argumento SCDS_PMF_SINGLE_INSTANCE identifica ésta como un recurso de una sola instancia.
El argumento xfnts_probe identifica el daemon del supervisor que se va a iniciar. Se supone que el daemon del supervisor debe encontrarse en el mismo directorio que los demás programas de rellamada.
El argumento final, 0, especifica el nivel de supervisión secundario. En este caso, este valor especifica que PMF sólo supervisa el daemon.
Antes de salir, el método xfnts_monitor_start llama a scds_close() para reclamar los recursos asignados por scds_initialize (). Para obtener más información, consulte Función scds_initialize() y la página de comando man scds_close(3HA).