リソースのプロパティが変更されたとき、RGM は Update メソッドを呼び出し、動作中のリソースに通知します。RGM は、管理アクションがリソースまたはそのリソースグループのプロパティの設定に成功したあとに、Update を呼び出します。
#pragma ident “@(#)xfnts_update.c 1.10 01/01/18 SMI”
/*
* Copyright (c) 1998-2004 by Sun Microsystems, Inc.
* All rights reserved.
*
* xfnts_update.c - 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);
}
|