RSiMainLoop or RSiMainLoopx Subroutine
Purpose
Allows an application to suspend execution and wait to get awakened when data feeds arrive.
Library
RSI Library (libSpmi.a)
Syntax
#include sys/Rsi.h
void RSiMainLoop(msecs)
int msecs;
void RSiMainLoopx(msecs)
int msecs;
Description
The RSiMainLoop or RSiMainLoopx subroutine performs the following actions:
- Allows the data-consumer program to suspend processing while waiting for data_feed packets to arrive from one or more xmservd daemons.
- Tells the subroutine that waits for data feeds to return control to the data-consumer program so that the latter can check for and react to other events.
- Invokes the subroutine to process data_feed packets for each such packet received.
To work properly, the RSiMainLoop or RSiMainLoopx subroutine requires that at least one RSiOpen or RSiOpenx call is successfully completed and that the connection is not closed.
This subroutine is part of the Performance Toolbox for AIX® licensed product.
Parameters
- msecs
- The minimum elapsed time in milliseconds that the subroutine should continue to attempt receives before returning to the caller. Notice that your program releases control for as many milliseconds you specify but that the callback functions defined on the RSiOpen or RSiOpenx call may be called repetitively during that time.
Error Codes
All Remote Statistic Interface (RSI) subroutines use external variables to provide error information. To access these variables, an application program must define the following external variables:
- extern char RSiEMsg[];
- extern int RSiErrno;
If the subroutine returns without an error, the RSiErrno variable is set to RSiOkay and the RSiEMsg character array is empty. If an error is detected, the RSiErrno variable returns an error code, as defined in the enum RSiErrorType.
Files
Item | Description |
---|---|
/usr/include/sys/Rsi.h | Declares the subroutines, data structures, handles, and macros that an application program can use to access the RSI. |