RSC/MP 7.2 Programming Manual
Application Design
HP NonStop Remote Server Call (RSC/MP) Programming Manual—522360-004
5-3
Restrictions
Restrictions
Some elements of the RSC/MP library are not safe to use in a multithreaded 
application:
•
The default options (selected by using RSC_DEFAULT_OPTIONS as an options 
handle) are shared between all threads, regardless of thread registration. Any 
thread using these options is affected by any change made from any other thread. 
To avoid this condition, have each thread create and load its own options.
•
The ERROR_FILE option is global to all threads; separate threads cannot use 
different error files.
Using TMF to Ensure Data Integrity
The Transaction Management Facility (TMF) helps to ensure data integrity. When 
designing an application, consider these factors:
•
The type of data that is in the database and how to maintain the integrity of the 
data.
•
If an error is encountered, whether the transaction should be ended (committed) or 
aborted (rolled back).
•
Whether transactions are controlled explicitly or automatically.
•
Whether there are single or multiple transactions running, using waited or nowaited 
I/O.
For further information about ensuring data integrity in an application, see Monitoring 
Transaction Calls on page 6-6.
Waited and Nowaited I/O
RSC/MP allows waited or nowaited I/O when initiated through the RscWrite or 
RscWriteRead function calls. Using waited I/O forces the application to wait until the 
I/O operation completes before returning control to the application. Using nowaited I/O 
allows the application to initiate the I/O and return control to the application 
immediately; the application can then check periodically using the RscIoCheck function 
to determine if the I/O has completed. 
Nowaited I/O is slightly more complicated, requiring two API calls, while waited I/O 
requires only one API call. Your choice of waited or nowaited I/O depends on the 
needs of your application.
If an application requires multiple, outstanding, nowaited RscWriteRead function calls 
to the same Guardian process server, the server replies to the WriteRead function calls 
in the order they were received. Because the server must respond to the first call 
before it responds to subsequent calls, this situation can result in poor performance of 
the application.










