mailing list of musl libc
 help / color / mirror / code / Atom feed
3eccdc125072f2556e7bf1dfc3b6b1ea8cad5f4f blob 707 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
#include "pthread_impl.h"

int __pthread_rwlock_timedrdlock(pthread_rwlock_t *restrict rw, const struct timespec *restrict at)
{
	int r, t;

	r = pthread_rwlock_tryrdlock(rw);
	if (r != EBUSY) return r;

	int spins = 100;
	while (spins-- && rw->_rw_lock && !rw->_rw_waiters) a_spin();

	while ((r=__pthread_rwlock_tryrdlock(rw))==EBUSY) {
		if (!(r=rw->_rw_lock) || (r&0x7fffffff)!=0x7fffffff) continue;
		t = r | 0x80000000;
		a_inc(&rw->_rw_waiters);
		a_cas(&rw->_rw_lock, r, t);
		r = __timedwait(&rw->_rw_lock, t, CLOCK_REALTIME, at, rw->_rw_shared^128);
		a_dec(&rw->_rw_waiters);
		if (r && r != EINTR) return r;
	}
	return r;
}

weak_alias(__pthread_rwlock_timedrdlock, pthread_rwlock_timedrdlock);
debug log:

solving 3eccdc12 ...
found 3eccdc12 in https://inbox.vuxu.org/musl/20220503155655.11222-2-jmaselbas@kalray.eu/ ||
	https://inbox.vuxu.org/musl/20220504122426.11529-2-jmaselbas@kalray.eu/
found 8cdd8ecf in https://git.vuxu.org/mirror/musl/
preparing index
index prepared:
100644 8cdd8ecf1775c4a180023ceac61069d76b741e61	src/thread/pthread_rwlock_timedrdlock.c

applying [1/2] https://inbox.vuxu.org/musl/20220503155655.11222-2-jmaselbas@kalray.eu/
diff --git a/src/thread/pthread_rwlock_timedrdlock.c b/src/thread/pthread_rwlock_timedrdlock.c
index 8cdd8ecf..3eccdc12 100644

Checking patch src/thread/pthread_rwlock_timedrdlock.c...
Applied patch src/thread/pthread_rwlock_timedrdlock.c cleanly.

skipping https://inbox.vuxu.org/musl/20220504122426.11529-2-jmaselbas@kalray.eu/ for 3eccdc12
index at:
100644 3eccdc125072f2556e7bf1dfc3b6b1ea8cad5f4f	src/thread/pthread_rwlock_timedrdlock.c

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).