2 +----------------------------------------------------------------------+
4 +----------------------------------------------------------------------+
5 | Copyright (c) 2008 The PHP Group |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 3.01 of the PHP license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.php.net/license/3_01.txt |
11 | If you did not receive a copy of the PHP license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@php.net so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
15 | Authors: Brian Shire <shire@php.net> |
16 +----------------------------------------------------------------------+
20 /* $Id: apc_futex.h,v 3.2.2.1 2008/05/11 18:57:00 rasmus Exp $ */
27 #ifdef APC_FUTEX_LOCKS
29 #include <asm/types.h>
31 #include <linux/futex.h>
33 #include "arch/atomic.h"
35 #define sys_futex(futex, op, val, timeout) syscall(SYS_futex, futex, op, val, timeout)
36 #define apc_futex_wait(val, oldval) sys_futex((void*)val, FUTEX_WAIT, oldval, NULL)
37 #define apc_futex_wake(val, count) sys_futex((void*)val, FUTEX_WAKE, count, NULL)
39 int apc_futex_create();
40 void apc_futex_destroy(volatile int* lock);
41 void apc_futex_lock(volatile int* lock);
42 void apc_futex_unlock(volatile int* lock);
53 * vim600: expandtab sw=4 ts=4 sts=4 fdm=marker
54 * vim<600: expandtab sw=4 ts=4 sts=4