fluke_error_t fluke_mutex_create( fluke_mutex_t *new_mutex, integer_t *hash);
Creates a new mutex object with the specified hash value. The mutex is initially unlocked and has no special attributes and thus is usable without an explicit fluke_set_state call.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_mutex
- A pointer to the address in the current task's address space at which to create the new mutex 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_mutex.
- NOT_ALIGNED
- new_mutex is not properly aligned for a mutex object.
fluke_mutex_set_state