Sun Cluster 数据服务开发者指南(适用于 Solaris OS)

xfnts_stop 方法

因为 xfnts_start 方法使用 scds_pmf_start() 在 PMF 控制下启动服务,所以 xfnts_stop 将使用 scds_pmf_stop() 停止该服务。


注意 –

xfnts_stop 中首先调用的是 scds_initialize(),该函数可以执行一些必要的内务处理功能(scds_initialize() 函数scds_initialize(3HA) 手册页中包含了详细信息)。


xfnts_stop 方法将调用在 xfnts.c 中定义的 svc_stop() 方法,如下所示。


scds_syslog(LOG_ERR, "Issuing a stop request.");
   err = scds_pmf_stop(scds_handle,
       SCDS_PMF_TYPE_SVC, SCDS_PMF_SINGLE_INSTANCE, SIGTERM,
       scds_get_rs_stop_timeout(scds_handle));

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

   scds_syslog(LOG_INFO,
       "Successfully stopped HA-XFS.");
   return (SCHA_ERR_NOERR); /* Successfully stopped */

请注意以下关于在 svc_stop() 中调用 scds_pmf_stop() 函数的内容。


注意 –

在退出之前,xfnts_stop 方法将调用 scds_close() 回收通过 scds_initialize() 分配的资源。有关更多信息,请参见scds_initialize() 函数scds_close(3HA) 手册页。