rpc_clear_server_binding(3ncs)rpc_clear_server_binding(3ncs)Namerpc_clear_server_binding - unset the binding of an RPC handle to a
server (client only)
Syntax
#include <idl/c/rpc.h>
void rpc_$clear_server_binding(handle, status)
handle_t handle;
status_$t *status;
Arguments
handle The RPC handle whose binding is being cleared.
status The completion status. If the completion status
returned in is equal to status_$ok , then the rou‐
tine that supplied it was successful.
Description
The routine removes the association between an RPC handle and a partic‐
ular server (that is, a particular port number), but does not remove
the associations with an object and with a host (that is, a network
address). This call replaces a fully bound handle with a bound-to-host
handle. A bound-to-host handle identifies an object located on a par‐
ticular host but does not identify a server exporting an interface to
the object.
If a client uses a bound-to-host handle to make a remote procedure
call, the call is sent to the Local Location Broker (LLB) forwarding
port at the host identified by the handle. If the call's interface and
the object identified by the handle are both registered with the host's
LLB, the LLB forwards the request to the registering server. When the
client RPC runtime library receives a response, it binds the handle to
the server. Subsequent remote procedure calls that use this handle are
then sent directly to the bound server's port.
The routine is useful for client error recovery when a server dies.
The port that a server uses when it restarts is not necessarily the
same port that it used previously; therefore, the binding that the
client was using may not be correct. This routine enables the client
to unbind from the dead server while retaining the binding to the host.
When the client sends a request, the binding is automatically set to
the server's new port.
Diagnostics
This section lists status codes for errors returned by this routine in
rpc_$not_in_call An internal error.
rpc_$proto_error An internal protocol error.
FilesSee Alsointro(3ncs), rpc_bind(3ncs), rpc_clear_binding(3ncs), rpc_set_bind‐
ing(3ncs)rpc_clear_server_binding(3ncs)