1. Overview of Resource Management
3. Resource Management API Reference
6. Data Service Development Library
8. Sample DSDL Resource Type Implementation
9. Solaris Cluster Agent Builder
12. Cluster Reconfiguration Notification Protocol
B. Sample Data Service Code Listings
C. DSDL Sample Resource Type Code Listings
xfnts_monitor_check Method Code Listing
xfnts_monitor_start Method Code Listing
xfnts_monitor_stop Method Code Listing
xfnts_probe Method Code Listing
xfnts_start Method Code Listing
xfnts_stop Method Code Listing
xfnts_validate Method Code Listing
E. Requirements for Non-Cluster Aware Applications
F. Document Type Definitions for the CRNP
The RGM calls the Update method to notify a running resource that its properties have been changed. The RGM runs Update after an administrative action succeeds in setting properties of a resource or its group.
Example C-8 xfnts_update.c
#pragma ident "@(#)xfnts_update.c 1.10 01/01/18 SMI" /* * Copyright (c) 1998-2006 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> /* * Some of the resource properties might have been updated. All such * updatable properties are related to the fault monitor. Hence, just * restarting the monitor should be enough. */ int main(int argc, char *argv[]) { scds_handle_t scds_handle; scha_err_t result; /* Process the arguments passed by RGM and initialize syslog */ if (scds_initialize(&scds_handle, argc, argv) != SCHA_ERR_NOERR) { scds_syslog(LOG_ERR, “Failed to initialize the handle.”); return (1); } /* * check if the Fault monitor is already running and if so stop and * restart it. The second parameter to scds_pmf_restart_fm() uniquely * identifies the instance of the fault monitor that needs to be * restarted. */ 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.”); /* Free up all the memory allocated by scds_initialize */ scds_close(&scds_handle); return (1); } scds_syslog(LOG_INFO, “Completed successfully.”); /* Free up all the memory allocated by scds_initialize */ scds_close(&scds_handle); return (0); }