mirror of
git://git.musl-libc.org/musl
synced 2025-01-31 11:01:34 +00:00
implement pthread_condattr_* interfaces
note that, while the attributes are stored, they are not used in pthread_cond_init yet.
This commit is contained in:
parent
63b06c0e90
commit
b4d40e44e3
6
src/thread/pthread_condattr_destroy.c
Normal file
6
src/thread/pthread_condattr_destroy.c
Normal file
@ -0,0 +1,6 @@
|
||||
#include "pthread_impl.h"
|
||||
|
||||
int pthread_condattr_destroy(pthread_condattr_t *a)
|
||||
{
|
||||
return 0;
|
||||
}
|
7
src/thread/pthread_condattr_getclock.c
Normal file
7
src/thread/pthread_condattr_getclock.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include "pthread_impl.h"
|
||||
|
||||
int pthread_condattr_getclock(const pthread_condattr_t *a, clockid_t *clk)
|
||||
{
|
||||
*clk = *a & 0x7fffffff;
|
||||
return 0;
|
||||
}
|
7
src/thread/pthread_condattr_getpshared.c
Normal file
7
src/thread/pthread_condattr_getpshared.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include "pthread_impl.h"
|
||||
|
||||
int pthread_condattr_getpshared(const pthread_condattr_t *a, int *pshared)
|
||||
{
|
||||
*pshared = *a>>31;
|
||||
return 0;
|
||||
}
|
7
src/thread/pthread_condattr_init.c
Normal file
7
src/thread/pthread_condattr_init.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include "pthread_impl.h"
|
||||
|
||||
int pthread_condattr_init(pthread_condattr_t *a)
|
||||
{
|
||||
memset(a, 0, sizeof *a);
|
||||
return 0;
|
||||
}
|
9
src/thread/pthread_condattr_setclock.c
Normal file
9
src/thread/pthread_condattr_setclock.c
Normal file
@ -0,0 +1,9 @@
|
||||
#include "pthread_impl.h"
|
||||
|
||||
int pthread_condattr_setclock(pthread_condattr_t *a, clockid_t clk)
|
||||
{
|
||||
if (clk < 0) return EINVAL;
|
||||
*a &= 0x80000000;
|
||||
*a |= clk;
|
||||
return 0;
|
||||
}
|
9
src/thread/pthread_condattr_setpshared.c
Normal file
9
src/thread/pthread_condattr_setpshared.c
Normal file
@ -0,0 +1,9 @@
|
||||
#include "pthread_impl.h"
|
||||
|
||||
int pthread_condattr_setpshared(pthread_condattr_t *a, int pshared)
|
||||
{
|
||||
if (pshared > 1U) return EINVAL;
|
||||
*a &= 0x7fffffff;
|
||||
*a |= pshared<<31;
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user