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

xfnts_update メソッドのコードリスト

RGM は UPDATE メソッドを呼び出して、プロパティが変更されたことを動作中のリソースに通知します。RGM が UPDATE メソッドを呼び出すのは、管理アクションによってリソースまたはリソースグループのプロパティの設定が成功したときです。


例 C-8 xfnts_update.c

#pragma ident "@(#)xfnts_update.c  1.10     01/01/18 SMI"
/*
 * Copyright (c) 1998-2001 by Sun Microsystems, Inc.
 * All rights reserved.
 *
 * xfnts_update.c - Update method for HA-XFS
 */

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <rgm/libdsdev.h>

/*
 * リソースのプロパティが更新された可能性がある。
 * このような更新可能なプロパティはすべて障害モニターに関連するものであるため、
 * 障害モニターを再起動する必要がある。
 */

int
main(int argc, char *argv[])
{
	scds_handle_t   scds_handle;
	scha_err_t	result;

	/* RGM から渡された引数を処理して、syslog を初期化する。*/
	if (scds_initialize(&scds_handle, argc, argv) != SCHA_ERR_NOERR)
{
		scds_syslog(LOG_ERR, "Failed to initialize the handle.");
		return (1);
	}

	/*
	 * 障害モニターがすでに動作していることを検査し、
	 * 動作している場合、障害モニターを停止および再起動する。
	 * scds_pmf_restart_fm() への 2 番目のパラメータは、再起動する
	 * 必要がある障害モニターのインスタンスを一意に識別する。
	 */

	scds_syslog(LOG_INFO, "Restarting the fault monitor.");
	result = scds_pmf_restart_fm(scds_handle, 0);
	if (result != SCHA_ERR_NOERR) {
		scds_syslog(LOG_ERR,
		    "Failed to restart fault monitor.");
		/* scds_initialize が割り当てたすべてのメモリーを解放する。*/
		scds_close(&scds_handle);
		return (1);
	}

	scds_syslog(LOG_INFO,
	    "Completed successfully.");

	/* scds_initialize が割り当てたすべてのメモリーを解放する。*/
	scds_close(&scds_handle);

	return (0);
}