Next: 2.14 fluke_thread_interrupt: interrupt another
Up: 2 Thread
Previous: 2.12 fluke_thread_get_server: retrieve the
void fluke_thread_get_state(fluke_thread_t *thread,
fluke_thread_state *state,
fluke_ref_t *task_ref,
fluke_ref_t *scheduler_ref,
fluke_ref_t *waiting_for_ref,
fluke_ref_t *client_ref,
fluke_ref_t *server_ref);
This operation retrieves the application-visible state of a thread.
The target thread will be stopped before its state is gathered
and will remain stopped until fluke_thread_set_state is called with
the FLUKE_THREAD_STOPPED bit cleared.
There is no guarantee on how quickly a running target thread
will be stopped,
only that it will be stopped when this call completes.
- thread
-
The thread whose state is to be retrieved.
- state
-
If non-null,
the structure to fill in with the simple (non-reference)
thread state.
- task_ref
-
If non-null,
the address of a reference object to associate with
the thread's task object.
- scheduler_ref
-
If non-null,
the address of a reference object to associate with
the thread's scheduler port object.
- waiting_for_ref
-
If non-null,
the address of a reference object to associate with
the object the thread is currently waiting for.
- client_ref
-
If non-null,
the address of a reference object to associate with
the thread's client thread object.
- server_ref
-
If non-null,
the address of a reference object to associate with
the thread's server thread object.
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.
- NO_OBJECT
-
thread does not point to an active object.
- NOT_THREAD
-
The object pointed to by thread is not a thread object.
- INVALID_OBJECT
-
The state of the thread object or one of the reference
objects has become invalid.
- NOT_REF
-
One or more of the reference object parameters was not
a pointer to a reference object.
- RACE_CONDITION
-
An illegal race condition with another thread was detected
on one of the objects specified as parameters to this call.
- CURRENT_THREAD
-
A thread attempted to get its own state.
fluke_thread_set_state
Next: 2.14 fluke_thread_interrupt: interrupt another
Up: 2 Thread
Previous: 2.12 fluke_thread_get_server: retrieve the
Utah Flux Research Group