Please enter search query.
Search <book_title>...
Cluster Server 8.0.1 Agent Developer's Guide - Windows
Last Published:
2022-05-19
Product(s):
InfoScale & Storage Foundation (8.0.1)
Platform: Windows
- Introduction
- Agent entry point overview
- About agent entry points
- Agent entry points described
- About the action entry point
- About the info entry point
- Considerations for using C++ or script entry points
- About the agent information file
- About the ArgList and ArgListValues attributes
- Creating entry points in C++
- About creating entry points in C++
- Syntax for C++ entry points
- Agent framework primitives
- Agent Framework primitives for container support
- Creating entry points in scripts
- About creating entry points in scripts
- Syntax for script entry points
- Agent framework primitives
- VCSAG_GET_ATTR_VALUE
- Agent Framework primitives with container support
- Example script entry points
- Logging agent messages
- Building a custom agent
- Files for use in agent development
- Creating the type definition file for a custom agent
- Building a custom agent on UNIX
- Defining resources for the custom resource type
- Building a script based IMF-aware custom agent
- Creating XML file required for AMF plugins to do resource registration for online and offline state monitoring
- Testing agents
- Static type attributes
- About static attributes
- Static type attribute definitions
- AdvDbg
- ArgList
- State transition diagram
- Internationalized messages
- Troubleshooting VCS resource's unexpected behavior using First Failure Data Capture (FFDC)
- Appendix A. Using pre-5.0 VCS agents
VCSAgCloseFile
voidout VCSAgCloseFile(void *vp);
Use this API to push a thread cancellation cleanup handler for an open file descriptor. The API accepts a FILED file descriptor as parameter. The API closes the file descriptor passed as argument. It does not check if the fd is valid (>= 0).
FILED fd = open("<filename>", ...); if (fd >= 0) { pthread_cleanup_push(VCSAgCloseFile, (void *) fd); // Use fd pthread_cleanup_pop(1); // Run VCSAgCloseFile to close the file descriptor } else { // error, could not successfully open file }