Open System Services Porting Guide (G06.29+, H06.06+, J06.03+)
Table 20 Thread Functions With Changes to Return Values Only (continued)
Return Values in Standard POSIX ThreadsFunction
EINVAL The value specified by cond is invalid.
pthread_cond_signal() 0 = successful
EINVAL The value cond does not refer to an initialized
condition variable.
pthread_cond_signal_int_np() 0 = successful
EINVAL The address or value specified by cond is invalid.
pthread_cond_timedwait() 0 = successful
ETIMEDOUT The time specified by abstime to
pthread_cond_timedwait() has passed.
EINVAL The value specified by cond, mutex, or abstime
is invalid. Different mutexes were supplied for
pthread_cond_timedwait() operations on the same
condition variable. The mutex was not owned by the current
thread at the time of the call.
pthread_cond_wait() 0 = successful
EINVAL The value specified by cond, mutex, or abstime
is invalid. Different mutexes were supplied for
pthread_cond_timedwait() operations on the same
condition variable. The mutex was not owned by the current
thread at the time of the call.
pthread_delay_np() 0 = successful
-1 = unsuccessful (Check errno for last error, such as
EINVAL.)
pthread_get_expiration_np() 0 = successful
-1 = unsuccessful (Check errno for last error, such as
EINVAL.)
pthread_join() 0 = successful
EINVAL The implementation has detected that the value
specified by thread does not refer to a thread that can
be joined.
ESRCH No thread could be found corresponding to that
specified by the given thread ID.
EDEADLK A deadlock was detected, or the value of
thread specifies the calling thread.
pthread_mutex_destroy() 0 = successful
EBUSY The implementation has detected an attempt to
destroy the object referenced by mutex while it is locked
or referenced.
EINVAL The value specified by mutex is invalid.
pthread_mutex_lock() 0 = successful
EINVAL The value specified by mutex does not refer to an
initialized mutex object.
EDEADLK The current thread already owns the mutex.
pthread_mutex_trylock() 0 = successful
EBUSY The mutex could not be acquired because it was
already locked.
EINVAL The value specified by mutex does not refer to
an initialized mutex object.
pthread_mutex_unlock() 0 = successful
EINVAL The value specified by mutex does not refer to
an initialized mutex object.
208 Standard POSIX Thread Functions: Differences Between the Draft 4 and IEEE 1003.1c 1995 Standards