Go to main content

Developing Data Services

Exit Print View

Updated: August 2018
 
 

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 22  xfnts_update.c Method
#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);
}