Implementing Entry Points Using C++
This chapter describes how to use C++ to implement agent entry points. This chapter also describes agent primitives, the C++ functions provided by the VCS agent framework.
Because the agent framework is multithreaded, all C++ code written by the agent developer must be MT-safe. For best results, avoid using global variables. If you do use them, access must be serialized (for example, by using mutex locks).
The following guidelines also apply:
- Do not use C library functions that are unsafe in multithreaded applications. Instead, use the equivalent reentrant versions, such as readdir_r() instead of readdir(). Access manual pages for either of these commands by entering: man command.
- When acquiring resources (dynamically allocating memory or opening a file, for example), use thread-cancellation handlers to ensure that resources are freed properly. See the manual pages for pthread_cleanup_push and pthread_cleanup_pop for details. Access manual pages for either of these commands by entering: man command.
|