我正在查看GCC中的arena.c
文件,您可以在以下网址查看:
http://code.woboq.org/userspace/glibc/malloc/arena.c.html#96
,更具体地说:
#define arena_lock(ptr, size) do {
if (ptr)
(void) mutex_lock (&ptr->mutex);
else
ptr = arena_get2 (ptr, (size), NULL);
} while (0)
我想知道mutex_lock()
究竟做了些什么。我在哪里可以找到它的实现?
编辑:发现这个但不确定它是否符合我的要求?
http://lxr.free-electrons.com/source/include/linux/mutex.h
EDIT2以上链接不包含mutex_lock()
实施。
答案 0 :(得分:1)
请参阅此页。
http://code.woboq.org/userspace/glibc/sysdeps/nptl/malloc-machine.h.html
它有mutex_lock()defination。
你问题中的另一个链接有内核空间实现。
您应该下载整个glibc
源代码,然后使用ctags
,您应该浏览代码。