Skip Navigation Links | |
Exit Print View | |
![]() |
Oracle Solaris Cluster Data Services Developer's Guide Oracle Solaris Cluster 4.0 |
1. Overview of Resource Management
3. Resource Management API Reference
6. Data Service Development Library
8. Sample DSDL Resource Type Implementation
9. Oracle Solaris Cluster Agent Builder
12. Cluster Reconfiguration Notification Protocol
A. Sample Data Service Code Listings
B. 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
C. Requirements for Non-Cluster-Aware Applications
D. 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 B-8 xfnts_update.c
#pragma ident "@(#)xfnts_update.c 1.10 01/01/18 SMI" /* * Copyright (c) 1998, 2012, Oracle and/or its affiliates. * 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); }