The RGM calls the Monitor_start method on a node to start the fault monitor after a resource is started on the node. The xfnts_monitor_start method uses scds_pmf_start() to start the monitor daemon under the PMF.
The xfnts_monitor_start method calls the mon_start method, which is defined in the xfnts.c file, as follows:
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 */ }
Note the following points about the call in svc_mon_start() to the scds_pmf_start() function:
The SCDS_PMF_TYPE_MON argument identifies the program to start as a fault monitor. This method can also start a data service or some other type of application.
The SCDS_PMF_SINGLE_INSTANCE argument identifies this as a single-instance resource.
The xfnts_probe argument identifies the monitor daemon to start. The monitor daemon is assumed to be located in the same directory as the other callback programs.
The final argument, 0, specifies the child monitoring level. In this case, this value specifies that the PMF monitor the monitor daemon only.