Sun Cluster データサービス開発ガイド (Solaris OS 版)

Stop メソッド

リソースタイプ実装の Stop コールバックメソッドは、クラスタノードでアプリケーションを停止するときに RGM によって呼び出されます。

Stop メソッドのコールバックが有効であるためには、次の条件が必要です。

ほとんどのアプリケーションには、DSDL ユーティリティー scds_pmf_stop() で十分なはずです。これは、アプリケーションを SIGTERM で「静かに」停止しようとするためです。続いてこの関数は、プロセスに対してSIGKILL を適用します。この関数は、まず、アプリケーションが PMF の scds_pmf_start() で起動されたものとみなします。このユーティリティーの詳細については、「PMF 関数」を参照してください。

アプリケーションを停止するそのアプリケーション固有の関数を svc_stop() とするなら、Stop メソッドは、次のように実装します。

if (scds_initialize(&handle, argc, argv)!= SCHA_ERR_NOERR)
{
   return (1);   /* Initialization Error */
}
return (svc_stop(handle));

前述の svc_stop() 関数の実装に scds_pmf_stop() 関数が含まれているかどうかは、ここでは関係ありません。scds_pmf_stop() 関数を含めるかの決定は、アプリケーションが PMF のもとで Start メソッドによって起動されているかどうかに依存します。

Stop メソッドの実装では、svc_validate() メソッドは使用されません。システムに問題があったとしても、Stop メソッドは、このノードでこのアプリケーションを停止すべきだからです。