在用户空间使用futex?

n-a*_*der 5 linux futex

我需要在锁定/解锁上下文之外的用户空间中调用do_futex()函数.即,我不需要互斥锁,但内核的确切语义调用do_futex.

它似乎应该在用户空间中可用,因为其意图是最小化系统调用的数量,但我无法与它链接.

还是有一个系统调用?

更新:

我目前正在使用系统调用(__ NR_futex,...)来运行do_futex().但

  1. 我必须包含以获得__NR_futex,这是丑陋的
  2. 我必须包括获取FUTEX_WAIT和FUTEX_WAKE,但我仍然没有得到EWOULDBLOCK,或WAKE的最大线程数

有一个连贯的包装?

Rum*_*kin 1

futex(2) 系统调用可能就是您正在寻找的。

男人 2 未来

另外,顺便说一句, man syscalls 给出了所有系统调用的列表。