GCC中定义的互斥锁在哪里?

时间:2014-08-18 12:36:06

标签: c linux gcc locking mutex

我正在查看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()实施。

1 个答案:

答案 0 :(得分:1)

请参阅此页。

http://code.woboq.org/userspace/glibc/sysdeps/nptl/malloc-machine.h.html

它有mutex_lock()defination。

你问题中的另一个链接有内核空间实现。


您应该下载整个glibc源代码,然后使用ctags,您应该浏览代码。