Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(3ncs)

rpc_set_async_ack(3ncs)

Name

rpc_set_async_ack − set or clear asynchronous-acknowledgement mode (client only)

Syntax

#include <idl/c/rpc.h>
 void rpc_$set_async_ack (state)
unsigned long state;

Arguments

state If "true" (nonzero), asynchronous-acknowledgement mode is set.  If "false" (zero), synchronous-acknowledgement mode is set. 

Description

The rpc_$set_async_ack call sets or clears asynchronous-acknowledgement mode in a client.

Synchronous-acknowledgement mode is the default.  Calling rpc_$set_async_ack with a nonzero value for state sets asynchronous-acknowledgement mode.  Calling it with a zero value for state sets synchronous-acknowledgement mode. 

After a client makes a remote procedure call and receives a reply from a server, the RPC runtime library at the client acknowledges its receipt of the reply.  This "reply acknowledgement" can occur either synchronously (before the runtime library returns to the caller) or asynchronously (after the runtime library returns to the caller). 

It is generally good to allow asynchronous reply acknowledgements.  Asynchronous-acknowledgement mode can save the client runtime library from making explicit reply acknowledgements, because after a client receives a reply, it may shortly issue another call that can act as an implicit acknowledgement. 

Asynchronous-acknowledgement mode requires that an "alarm" be set to go off sometime after the remote procedure call returns.  Unfortunately, setting the alarm can cause two problems:

1There may be only one alarm that can be set, and the application itself may be trying to use it. 

2If, at the time the alarm goes off, the application is blocked in a system call that is doing I/O to a "slow device" (such as a terminal), the system call will return an error (with the EINTR errno); the application may not be coded to expect this error.  If neither of these problems exists, the application should set asynchronous-acknowledgement mode to get greater efficiency. 

Files

/usr/include/idl/c/rpc.h
/usr/include/idl/rpc.idl

See Also

intro(3ncs)

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