LibPthread: Add POSIX spec links for pthread_cond API

This commit is contained in:
Brian Gianforcaro 2022-01-07 00:34:33 -08:00 committed by Brian Gianforcaro
parent 54e15821cd
commit 800f14298d
Notes: sideshowbarker 2024-07-17 21:30:30 +09:00

View file

@ -16,17 +16,20 @@
// Condition variable attributes. // Condition variable attributes.
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_condattr_init.html
int pthread_condattr_init(pthread_condattr_t* attr) int pthread_condattr_init(pthread_condattr_t* attr)
{ {
attr->clockid = CLOCK_MONOTONIC_COARSE; attr->clockid = CLOCK_MONOTONIC_COARSE;
return 0; return 0;
} }
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_condattr_destroy.html
int pthread_condattr_destroy(pthread_condattr_t*) int pthread_condattr_destroy(pthread_condattr_t*)
{ {
return 0; return 0;
} }
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_condattr_setclock.html
int pthread_condattr_setclock(pthread_condattr_t* attr, clockid_t clock) int pthread_condattr_setclock(pthread_condattr_t* attr, clockid_t clock)
{ {
attr->clockid = clock; attr->clockid = clock;
@ -44,6 +47,7 @@ static constexpr u32 NEED_TO_WAKE_ONE = 1;
static constexpr u32 NEED_TO_WAKE_ALL = 2; static constexpr u32 NEED_TO_WAKE_ALL = 2;
static constexpr u32 INCREMENT = 4; static constexpr u32 INCREMENT = 4;
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_init.html
int pthread_cond_init(pthread_cond_t* cond, const pthread_condattr_t* attr) int pthread_cond_init(pthread_cond_t* cond, const pthread_condattr_t* attr)
{ {
cond->mutex = nullptr; cond->mutex = nullptr;
@ -52,16 +56,19 @@ int pthread_cond_init(pthread_cond_t* cond, const pthread_condattr_t* attr)
return 0; return 0;
} }
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_destroy.html
int pthread_cond_destroy(pthread_cond_t*) int pthread_cond_destroy(pthread_cond_t*)
{ {
return 0; return 0;
} }
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_wait.html
int pthread_cond_wait(pthread_cond_t* cond, pthread_mutex_t* mutex) int pthread_cond_wait(pthread_cond_t* cond, pthread_mutex_t* mutex)
{ {
return pthread_cond_timedwait(cond, mutex, nullptr); return pthread_cond_timedwait(cond, mutex, nullptr);
} }
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_timedwait.html
int pthread_cond_timedwait(pthread_cond_t* cond, pthread_mutex_t* mutex, const struct timespec* abstime) int pthread_cond_timedwait(pthread_cond_t* cond, pthread_mutex_t* mutex, const struct timespec* abstime)
{ {
// Save the mutex this condition variable is associated with. We don't (yet) // Save the mutex this condition variable is associated with. We don't (yet)
@ -85,6 +92,7 @@ int pthread_cond_timedwait(pthread_cond_t* cond, pthread_mutex_t* mutex, const s
return 0; return 0;
} }
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_signal.html
int pthread_cond_signal(pthread_cond_t* cond) int pthread_cond_signal(pthread_cond_t* cond)
{ {
// Increment the generation. // Increment the generation.
@ -114,6 +122,7 @@ int pthread_cond_signal(pthread_cond_t* cond)
return 0; return 0;
} }
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_broadcast.html
int pthread_cond_broadcast(pthread_cond_t* cond) int pthread_cond_broadcast(pthread_cond_t* cond)
{ {
// Increment the generation. // Increment the generation.