Sign in
android
/
platform
/
external
/
musl
/
dba68bf9
/
.
/
src
/
thread
/
pthread_rwlock_trywrlock.c
blob: 202e256aa0471de4e20d21696b312191e6fa703a [
file
] [
log
] [
blame
]
#include
"pthread_impl.h"
int
pthread_rwlock_trywrlock
(
pthread_rwlock_t
*
rw
)
{
if
(
a_xchg
(&
rw
->
_rw_wrlock
,
1
))
return
EBUSY
;
if
(
rw
->
_rw_readers
)
{
a_store
(&
rw
->
_rw_wrlock
,
0
);
return
EBUSY
;
}
rw
->
_rw_owner
=
pthread_self
()->
tid
;
return
0
;
}