Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rpc_control(3N) — SunOS 5.6

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

rpcbind(1M)

rpc(3N)

rpc_svc_calls(3N)

attributes(5)

rpc_control(3N)

NAME

rpc_control − library routine for manipulating global RPC attributes for client and server applications

SYNOPSIS

bool_t rpc_control(int op, void ∗info);

DESCRIPTION

This RPC library routine allows applications to set and modify global RPC attributes that apply to clients as well as servers.  At present, it supports only server side operations.  This function allows applications to set and modify global attributes that apply to client as well as server functions.  op indicates the type of operation, and info is a pointer to the operation specific information.  The supported values of op and their argument types, and what they do are:

RPC_SVC_MTMODE_SETint ∗set multithread mode
RPC_SVC_MTMODE_GETint ∗get multithread mode
RPC_SVC_THRMAX_SETint ∗set maximum number of threads
RPC_SVC_THRMAX_GETint ∗get maximum number of threads
RPC_SVC_THRTOTAL_GETint ∗get number of active threads
RPC_SVC_THRCREATES_GETint ∗ get number of threads created
RPC_SVC_THRERRORS_GETint ∗ get number of thread create errors
RPC_SVC_USE_POLLFDint ∗set number of file descriptors to unlimited

There are three multithread (MT) modes.  These are:

RPC_SVC_MT_NONESingle threaded mode(default)
RPC_SVC_MT_AUTOAutomatic MT mode
RPC_SVC_MT_USERUser MT mode

Unless the application sets the Automatic or User MT modes, it will stay in the default (single threaded) mode.  See the Network Interfaces Programming Guide for the meanings of these modes and programming examples.  Once a mode is set, it cannot be changed. 

By default, the maximum number of threads that the server will create at any time is 16.  This allows the service developer to put a bound on thread resources consumed by a server.  If a server needs to process more than 16 client requests concurrently, the maximum number of threads must be set to the desired number.  This parameter may be set at any time by the server. 

Set and get operations will succeed even in modes where the operations don’t apply.  For example, you can set the maximum number of threads in any mode, even though it makes sense only for the Automatic MT mode.  All of the get operations except RPC_SVC_MTMODE_GET apply only to the Automatic MT mode, so values returned in other modes may be undefined. 

By default, RPC servers are limited to a maximum of 1024 file descriptors or connections due to limitations in the historical interfaces svc_fdset(3N) and svc_getreqset(3N).  Applications written to use the preferred interfaces of svc_pollfd(3N) and svc_getreq_poll(3N) can use an unlimited number of file descriptors.  Setting info to point to a non-zero integer and op to RPC_SVC_USE_POLLFD removes the limitation. 

RETURN VALUES

This routine returns TRUE if the operation was successful, and FALSE otherwise. 

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
MT-Level MT-Safe

SEE ALSO

rpcbind(1M), rpc(3N), rpc_svc_calls(3N), attributes(5)

SunOS 5.6  —  Last change: 20 Apr 1997

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026