Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rpc_ss_set_thread_handle(3rpc) — DCE 3.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

rpc_ss_set_thread_handle(3rpc)  —  Subroutines

NAME

rpc_ss_set_thread_handle — Sets the thread handle for either a newly created spawned thread or for a server that was formerly a client and is ready to be a client again;  used by server or possibly by client applications

Synopsis

void rpc_ss_set_thread_handle(
rpc_ss_thread_handle_t id);

Parameters

Input

idA thread handle returned by a call to rpc_ss_get_thread_handle(). 

Description

The rpc_ss_set_thread_handle() routine is used by a thread spawned in the manager code to associate itself with the main RPC manager thread.  Each spawned thread that uses rpc_ss_allocate() and rpc_ss_free() for memory management must call rpc_ss_set_thread_handle(), using the handle that the main RPC manager thread obtained through rpc_ss_get_thread_handle(). 

The rpc_ss_set_thread_handle() routine can also be used by a program that originally was a client, then became a server, and is now reverting to a client.  The program must re−establish the client environment by calling the rpc_ss_set_thread_handle() routine, supplying the handle it received (through rpc_ss_get_thread_handle()) prior to becoming a server, as a parameter. 

Return Values

An exception, rpc_x_no_memory, when there is insufficient memory available to set up necessary data structures. 

Examples

When this function is invoked within a spawned thread, its argument is the thread handle of the calling thread.  This example assumes the data passed to the thread consists of only the middle thread. 

#include <pthread.h>
 
#include <dce/idlbase.h>

int helper_thread (
     pthread_addr_t th
     )
 {
     /∗
      ∗ Set the memory management environment to match
      ∗ the parent environment.
      ∗/
      rpc_ss_set_thread_handle(rpc_ss_thread_handle_t)th;
     /∗
      ∗ Real work of this thread follows here ...
      ∗/
  }

Errors

A representative list of errors that might be returned is not shown here.  Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages. 

Related Information

Functions: rpc_ss_allocate(3rpc), rpc_ss_free(3rpc), rpc_ss_get_thread_handle(3rpc). 

Books: OSF DCE Application Development Guide—Core Components. 

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