next up previous contents
Next: 2.23 fluke_thread_set_state: set the Up: 2 Thread Previous: 2.21 fluke_thread_set_saved_state: restores exception

2.22 fluke_thread_set_server: change the ``server'' reliable-IPC link

SYNOPSIS

void fluke_thread_set_server(fluke_thread_t *cur_thread, fluke_ref_t *server_ref, unsigned flags);

DESCRIPTION

Note: this is a preliminary interface subject to change at the whim of anyone who cares.

Changes the current thread's server reliable-IPC link and associated flags. Server_ref is a reference for the thread (if any) with which the calling thread will be engaged in a reliable-IPC as the client; i.e. it is a reference to the server-side of the connection.

Flags should either be FLUKE_THREAD_CLIENT_SENDER if the calling thread is to be the current sender on the connection, or zero if the referenced server is to be the sender.

Together with fluke_thread_get_server, this call can be used to save and restore the state of the server connection state allowing a thread to be engaged in multiple server IPC calls.

PARAMETERS

cur_thread
A pointer to the thread object representing the current thread, e.g. as returned by fluke_thread_self.
server_ref
The address of a thread reference object to be copied into the thread's server reference slot.
flags
Flags related to the server connection to store into the threads IPC flag state.

ERRORS

If any of the following errors is detected by the Fluke implementation, it causes the current thread to take a synchronous exception with one of the following codes. All of these have an implicit FLUKE_INSANITY_ prefix.
NOT_CURRENT_THREAD
Thread specified was not the current thread.
NO_OBJECT
server_ref does not point to an active object.
NOT_REF
The object at server_ref is not a reference object.
NOT_THREAD_REF
The object at server_ref is a reference object, but not a reference to a thread.

RELATED INFORMATION

fluke_thread_get_server



Utah Flux Research Group