Skip Navigation Links
Exit Print View
| Oracle Solaris Cluster Data Services Developer's Guide Oracle Solaris Cluster 4.1

Search Scope:

- This Document
- Entire Library

## `xfnts_update` Method Code Listing

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);
    }

Copyright © 2000, 2012, Oracle and/or its affiliates. All rights reserved. Legal Notices |