mailing list of musl libc
 help / color / mirror / code / Atom feed
92c8373e44cbc42554a5c422bff56fa1c6c8890f blob 682 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
26
27
28
 
#include "pthread_impl.h"
#include <threads.h>

int __mtx_unlock(__mtx_t *mtx)
{
	int ret = thrd_success;
	if ((mtx->_mt_typ&3) == PTHREAD_MUTEX_RECURSIVE && mtx->_mt_cnt) {
		if ((mtx->_mt_lck&0x1fffffff) != __pthread_self()->tid)
			ret = thrd_error;
		/* _m_count is the count of additional locks, no need to real unlock */
		else --mtx->_mt_cnt;
	} else {
		if (a_swap(&mtx->_mt_lck, 0)<0 || mtx->_mt_wts)
			__syscall(SYS_futex, &mtx->_mt_lck, FUTEX_WAKE|THRD_PRIVATE, 1);
	}
	return ret;
}

int mtx_unlock(mtx_t *mut)
{
	int ret = thrd_error;
	__mtx_t * m = __mtx_getref(mut);
	if (m) {
		ret = __mtx_unlock(m);
		__mtx_unref(m);
	}
	return ret;
}
debug log:

solving 5c98b07 ...
found 5c98b07 in https://inbox.vuxu.org/musl/1408049748.4951.134.camel@eris.loria.fr/ ||
	https://inbox.vuxu.org/musl/1407801532.15134.96.camel@eris.loria.fr/

applying [1/2] https://inbox.vuxu.org/musl/1408049748.4951.134.camel@eris.loria.fr/
diff --git a/src/thread/mtx_unlock.c b/src/thread/mtx_unlock.c\r
new file mode 100644\r
index 0000000..5c98b07\r

1:7: trailing whitespace.
#include "pthread_impl.h"\r
1:8: trailing whitespace.
#include <threads.h>\r
1:9: trailing whitespace.
\r
1:10: trailing whitespace.
int __mtx_unlock(__mtx_t *mtx)\r
1:11: trailing whitespace.
{\r
Checking patch src/thread/mtx_unlock.c...
Applied patch src/thread/mtx_unlock.c cleanly.
warning: squelched 23 whitespace errors
warning: 28 lines add whitespace errors.

skipping https://inbox.vuxu.org/musl/1407801532.15134.96.camel@eris.loria.fr/ for 5c98b07
index at:
100644 92c8373e44cbc42554a5c422bff56fa1c6c8890f	src/thread/mtx_unlock.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).