void fluke_thread_get_server(fluke_thread_t *cur_thread, fluke_ref_t *server_ref, unsigned *flags);
Note: this is a preliminary interface subject to change at the whim of anyone who cares.Returns 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 is engaged in a reliable-IPC as the client; i.e. it is a reference to the server-side of the connection. The returned reference will be null if the calling thread was not engaged in such an IPC connection.
Flags will either be FLUKE_THREAD_CLIENT_SENDER if the calling thread was the current sender on the connection, or zero if the referenced server was the sender. The flag word is only valid if server_ref is non-null.
Together with fluke_thread_set_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.
- cur_thread
- A pointer to the thread object representing the current thread, e.g. as returned by fluke_thread_self.
- server_ref
- If non-null, the address of a reference object to associate with the thread's reliable-IPC server thread object.
- flags
- If non-null, a word in which to store the IPC flags related to the server connection.
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 pointed to by server_ref is not a reference object.
fluke_thread_set_server