fluke_error_t fluke_thread_create_hash( fluke_thread_t *new_thread, integer_t *hash);
The fluke_thread_create_hash operation creates a new thread with the specified hash value. All of the new thread's references, such as its task and scheduler references, will initially be null. Thus, the new thread will not be able to run until its state is initialized using fluke_thread_set_state. The initial values of all other thread state, such as the thread's processor registers, are undefined.On a call, hash is a pointer to the hash value to set. If the pointer or the value is zero, the implementation will choose a default value. On a successful return, a non-zero pointer will contain the hash value set.
- new_thread
- A pointer to the address in the current task's address space at which to create the new thread object.
- hash
- On entry, a pointer to the desired hash value to set. On return, the hash value used.
If any of the following errors is detected, the appropriate error code is returned: All of these have an implicit FLUKE_ prefix.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_MEMORY
- Insufficient resources were available.
- OBJECT_EXISTS
- An object already exists at the location pointed to by new_thread.
- NOT_ALIGNED
- new_thread is not properly aligned for a thread object.
fluke_thread_set_state