Sun Cluster 3.0 12/01 データサービス開発ガイド

STOP メソッド

リソースタイプ実装の STOP コールバックメソッドは、特定のクラスタノードでアプリケーションを停止するときに RGM によって呼び出されます。STOP メソッドのコールバックが有効であるためには、次の条件が必要です。

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

アプリケーションを停止するそのアプリケーション固有のルーチンを svc_stop() とし、これまで使用してきたコードモデルに従うとするなら、STOP メソッドは、次のように実装できます。svc_stop() の実装で scds_pmf_stop() が使用されているかどうかは、ここでは関係ありません。それが使用されているかどうかは、アプリケーションが PMF のもとで START メソッドによって起動されているかどうかに依存します。

if (scds_initialize(&handle, argc, argv)!= SCHA_ERR_NOERR)
{
	return (1);	/* 初期設定のエラー */
}
return (svc_stop(handle));

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