Go to main content

Oracle® Solaris Cluster Data Services Developer's Guide

Exit Print View

Updated: September 2015
 
 

xfnts_monitor_stop Method

Because the xfnts_monitor_start method uses scds_pmf_start() to start the monitor daemon under the PMF, xfnts_monitor_stop uses scds_pmf_stop()to stop the monitor daemon.


Note - The first call in xfnts_monitor_stop is to scds_initialize(), which performs some necessary housekeeping functions. scds_initialize() Function and the scds_initialize(3HA) man page contain more information.

The xfnts_monitor_stop() method calls the mon_stop method, which is defined in the xfnts.c file, as follows:

scds_syslog_debug(DBG_LEVEL_HIGH,
"Calling scds_pmf_stop method");

err = scds_pmf_stop(scds_handle, SCDS_PMF_TYPE_MON,
SCDS_PMF_SINGLE_INSTANCE, SIGKILL,
scds_get_rs_monitor_stop_timeout(scds_handle));

if (err != SCHA_ERR_NOERR) {
scds_syslog(LOG_ERR,
"Failed to stop fault monitor.");
return (1);
}

scds_syslog(LOG_INFO,
"Stopped the fault monitor.");

return (SCHA_ERR_NOERR); /* Successfully stopped monitor */
}

    Note the following points about the call in svc_mon_stop() to the scds_pmf_stop() function:

  • The SCDS_PMF_TYPE_MON argument identifies the program to stop as a fault monitor. This method can also stop a data service or some other type of application.

  • The SCDS_PMF_SINGLE_INSTANCE argument identifies this as a single-instance resource.

  • The SIGKILL argument identifies the signal to use to stop the resource instance. If this signal fails to stop the instance, scds_pmf_stop() returns with a timeout error. See the scds_pmf_stop(3HA) man page for details.

  • The timeout value is that of the Monitor_stop_timeout property of the resource.


Note - Before it exits, the xfnts_monitor_stop method calls scds_close() to reclaim resources that were allocated by scds_initialize(). scds_initialize() Function and the scds_close(3HA) man page contain more information.