亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lowlevellock.h

?? linux下的C語言庫源碼有一百多M解壓后很不錯
?? H
字號:
/* Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc.   This file is part of the GNU C Library.   Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.   The GNU C Library is free software; you can redistribute it and/or   modify it under the terms of the GNU Lesser General Public   License as published by the Free Software Foundation; either   version 2.1 of the License, or (at your option) any later version.   The GNU C Library is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU   Lesser General Public License for more details.   You should have received a copy of the GNU Lesser General Public   License along with the GNU C Libr	\ary; if not, write to the Free   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA   02111-1307 USA.  */#ifndef _LOWLEVELLOCK_H#define _LOWLEVELLOCK_H	1#include <time.h>#include <sys/param.h>#include <bits/pthreadtypes.h>#include <atomic.h>#include <kernel-features.h>#define FUTEX_WAIT		0#define FUTEX_WAKE		1#define FUTEX_REQUEUE		3#define FUTEX_CMP_REQUEUE	4#define FUTEX_WAKE_OP		5#define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE	((4 << 24) | 1)#define FUTEX_LOCK_PI		6#define FUTEX_UNLOCK_PI		7#define FUTEX_TRYLOCK_PI	8#define FUTEX_PRIVATE_FLAG	128/* Values for 'private' parameter of locking macros.  Yes, the   definition seems to be backwards.  But it is not.  The bit will be   reversed before passing to the system call.  */#define LLL_PRIVATE	0#define LLL_SHARED	FUTEX_PRIVATE_FLAG#if !defined NOT_IN_libc || defined IS_IN_rtld/* In libc.so or ld.so all futexes are private.  */# ifdef __ASSUME_PRIVATE_FUTEX#  define __lll_private_flag(fl, private) \  ((fl) | FUTEX_PRIVATE_FLAG)# else#  define __lll_private_flag(fl, private) \  ((fl) | THREAD_GETMEM (THREAD_SELF, header.private_futex))# endif#else# ifdef __ASSUME_PRIVATE_FUTEX#  define __lll_private_flag(fl, private) \  (((fl) | FUTEX_PRIVATE_FLAG) ^ (private))# else#  define __lll_private_flag(fl, private) \  (__builtin_constant_p (private)					      \   ? ((private) == 0							      \      ? ((fl) | THREAD_GETMEM (THREAD_SELF, header.private_futex))	      \      : (fl))								      \   : ((fl) | (((private) ^ FUTEX_PRIVATE_FLAG)				      \	      & THREAD_GETMEM (THREAD_SELF, header.private_futex))))# endif	      #endif#define lll_futex_wait(futexp, val, private) \  lll_futex_timed_wait (futexp, val, NULL, private)#define lll_futex_timed_wait(futexp, val, timespec, private) \  ({									      \    INTERNAL_SYSCALL_DECL (__err);					      \    long int __ret;							      \									      \    __ret = INTERNAL_SYSCALL (futex, __err, 4, (futexp),		      \			      __lll_private_flag (FUTEX_WAIT, private),	      \			      (val), (timespec));			      \    __ret;								      \  })#define lll_futex_wake(futexp, nr, private) \  ({									      \    INTERNAL_SYSCALL_DECL (__err);					      \    long int __ret;							      \									      \    __ret = INTERNAL_SYSCALL (futex, __err, 4, (futexp),		      \			      __lll_private_flag (FUTEX_WAKE, private),	      \			      (nr), 0);					      \    __ret;								      \  })/* Returns non-zero if error happened, zero if success.  */#define lll_futex_requeue(futexp, nr_wake, nr_move, mutex, val, private) \  ({									      \    INTERNAL_SYSCALL_DECL (__err);					      \    long int __ret;							      \									      \    __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp),		      \			      __lll_private_flag (FUTEX_CMP_REQUEUE, private),\			      (nr_wake), (nr_move), (mutex), (val));	      \    INTERNAL_SYSCALL_ERROR_P (__ret, __err);				      \  })#define lll_robust_dead(futexv, private) \  do									      \    {									      \      int *__futexp = &(futexv);					      \      atomic_or (__futexp, FUTEX_OWNER_DIED);				      \      lll_futex_wake (__futexp, 1, private);				      \    }									      \  while (0)/* Returns non-zero if error happened, zero if success.  */#ifdef __sparc32_atomic_do_lock/* Avoid FUTEX_WAKE_OP if supporting pre-v9 CPUs.  */# define lll_futex_wake_unlock(futexp, nr_wake, nr_wake2, futexp2) 1#else# define lll_futex_wake_unlock(futexp, nr_wake, nr_wake2, futexp2, private) \  ({									      \    INTERNAL_SYSCALL_DECL (__err);					      \    long int __ret;							      \									      \    __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp),		      \			      __lll_private_flag (FUTEX_WAKE_OP, private),    \			      (nr_wake), (nr_wake2), (futexp2),		      \			      FUTEX_OP_CLEAR_WAKE_IF_GT_ONE);		      \    INTERNAL_SYSCALL_ERROR_P (__ret, __err);				      \  })#endifstatic inline int__attribute__ ((always_inline))__lll_trylock (int *futex){  return atomic_compare_and_exchange_val_24_acq (futex, 1, 0) != 0;}#define lll_trylock(futex) __lll_trylock (&(futex))static inline int__attribute__ ((always_inline))__lll_cond_trylock (int *futex){  return atomic_compare_and_exchange_val_24_acq (futex, 2, 0) != 0;}#define lll_cond_trylock(futex) __lll_cond_trylock (&(futex))static inline int__attribute__ ((always_inline))__lll_robust_trylock (int *futex, int id){  return atomic_compare_and_exchange_val_acq (futex, id, 0) != 0;}#define lll_robust_trylock(futex, id) \  __lll_robust_trylock (&(futex), id)extern void __lll_lock_wait_private (int *futex) attribute_hidden;extern void __lll_lock_wait (int *futex, int private) attribute_hidden;extern int __lll_robust_lock_wait (int *futex, int private) attribute_hidden;static inline void__attribute__ ((always_inline))__lll_lock (int *futex, int private){  int val = atomic_compare_and_exchange_val_24_acq (futex, 1, 0);  if (__builtin_expect (val != 0, 0))    {      if (__builtin_constant_p (private) && private == LLL_PRIVATE)	__lll_lock_wait_private (futex);      else	__lll_lock_wait (futex, private);    }}#define lll_lock(futex, private) __lll_lock (&(futex), private)static inline int__attribute__ ((always_inline))__lll_robust_lock (int *futex, int id, int private){  int result = 0;  if (atomic_compare_and_exchange_bool_acq (futex, id, 0) != 0)    result = __lll_robust_lock_wait (futex, private);  return result;}#define lll_robust_lock(futex, id, private) \  __lll_robust_lock (&(futex), id, private)static inline void__attribute__ ((always_inline))__lll_cond_lock (int *futex, int private){  int val = atomic_compare_and_exchange_val_24_acq (futex, 2, 0);  if (__builtin_expect (val != 0, 0))    __lll_lock_wait (futex, private);}#define lll_cond_lock(futex, private) __lll_cond_lock (&(futex), private)#define lll_robust_cond_lock(futex, id, private) \  __lll_robust_lock (&(futex), (id) | FUTEX_WAITERS, private)extern int __lll_timedlock_wait (int *futex, const struct timespec *,				 int private) attribute_hidden;extern int __lll_robust_timedlock_wait (int *futex, const struct timespec *,					int private) attribute_hidden;static inline int__attribute__ ((always_inline))__lll_timedlock (int *futex, const struct timespec *abstime, int private){  int val = atomic_compare_and_exchange_val_24_acq (futex, 1, 0);  int result = 0;  if (__builtin_expect (val != 0, 0))    result = __lll_timedlock_wait (futex, abstime, private);  return result;}#define lll_timedlock(futex, abstime, private) \  __lll_timedlock (&(futex), abstime, private)static inline int__attribute__ ((always_inline))__lll_robust_timedlock (int *futex, const struct timespec *abstime,			int id, int private){  int result = 0;  if (atomic_compare_and_exchange_bool_acq (futex, id, 0) != 0)    result = __lll_robust_timedlock_wait (futex, abstime, private);  return result;}#define lll_robust_timedlock(futex, abstime, id, private) \  __lll_robust_timedlock (&(futex), abstime, id, private)#define lll_unlock(lock, private) \  ((void) ({								      \    int *__futex = &(lock);						      \    int __val = atomic_exchange_24_rel (__futex, 0);			      \    if (__builtin_expect (__val > 1, 0))				      \      lll_futex_wake (__futex, 1, private);				      \  }))#define lll_robust_unlock(lock, private) \  ((void) ({								      \    int *__futex = &(lock);						      \    int __val = atomic_exchange_rel (__futex, 0);			      \    if (__builtin_expect (__val & FUTEX_WAITERS, 0))			      \      lll_futex_wake (__futex, 1, private);				      \  }))#define lll_islocked(futex) \  (futex != 0)/* Initializers for lock.  */#define LLL_LOCK_INITIALIZER		(0)#define LLL_LOCK_INITIALIZER_LOCKED	(1)/* The kernel notifies a process with uses CLONE_CLEARTID via futex   wakeup when the clone terminates.  The memory location contains the   thread ID while the clone is running and is reset to zero   afterwards.	*/#define lll_wait_tid(tid) \  do							\    {							\      __typeof (tid) __tid;				\      while ((__tid = (tid)) != 0)			\	lll_futex_wait (&(tid), __tid, LLL_SHARED);	\    }							\  while (0)extern int __lll_timedwait_tid (int *, const struct timespec *)     attribute_hidden;#define lll_timedwait_tid(tid, abstime) \  ({							\    int __res = 0;					\    if ((tid) != 0)					\      __res = __lll_timedwait_tid (&(tid), (abstime));	\    __res;						\  })#endif	/* lowlevellock.h */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产三级电影在线观看| 亚洲国产成人av| 中文字幕在线一区二区三区| 综合分类小说区另类春色亚洲小说欧美 | 7777精品伊人久久久大香线蕉的 | 日本成人在线看| 91福利国产成人精品照片| 色哟哟国产精品免费观看| 欧美久久久久久蜜桃| 欧美一级二级三级乱码| 精品久久久久久综合日本欧美 | 久久精品国内一区二区三区| 国产激情精品久久久第一区二区| 国产精品 日产精品 欧美精品| 欧美成人综合网站| 高清国产一区二区| 欧美在线色视频| 欧美一二三区在线观看| 欧美不卡一区二区三区四区| 国产欧美1区2区3区| 亚洲丝袜制服诱惑| 精品一区精品二区高清| 成人动漫av在线| 国产乱人伦偷精品视频不卡| voyeur盗摄精品| 91精品免费在线观看| 欧美国产国产综合| 丝袜亚洲另类丝袜在线| 国产精品一区二区无线| 在线精品观看国产| 26uuuu精品一区二区| 99re66热这里只有精品3直播| 日韩电影在线免费看| 国产精品亚洲一区二区三区在线 | 色欧美片视频在线观看在线视频| 欧美日韩国产成人在线免费| 久久久久久综合| 亚洲国产成人高清精品| 国产91精品欧美| 欧美老人xxxx18| 亚洲欧洲日韩女同| 久久国产精品区| 色香色香欲天天天影视综合网| 成人禁用看黄a在线| 5月丁香婷婷综合| 国产精品色在线观看| 麻豆专区一区二区三区四区五区| 成人激情免费电影网址| 欧美日韩成人在线| 国产精品天干天干在线综合| 久久国产生活片100| 亚洲天堂成人网| 日韩在线一区二区三区| 成人黄色小视频在线观看| 日韩一卡二卡三卡| 亚洲综合在线视频| 福利一区福利二区| 欧美日韩成人综合天天影院 | 国产午夜精品一区二区三区四区| 亚洲午夜激情网站| 成人高清伦理免费影院在线观看| 日韩视频在线永久播放| 亚洲国产精品久久久男人的天堂 | www.亚洲色图| 亚洲精品一区二区三区精华液| 亚洲福利电影网| 91视视频在线观看入口直接观看www | 亚洲1区2区3区视频| 99久久久精品| 久久久国际精品| 不卡欧美aaaaa| 亚洲黄色录像片| 欧美性猛交xxxxxx富婆| 亚洲国产日韩av| 在线观看国产一区二区| 欧美午夜免费电影| 天天综合色天天综合色h| 717成人午夜免费福利电影| 婷婷激情综合网| 国产日韩欧美电影| 欧美精品一区二| 26uuu欧美| 黑人巨大精品欧美黑白配亚洲| 91精品在线观看入口| 亚洲小说欧美激情另类| 欧美日韩精品福利| 一区二区理论电影在线观看| 在线免费观看视频一区| 亚洲精品视频在线看| 欧美在线观看你懂的| 亚洲综合久久久久| 福利一区在线观看| 亚洲人快播电影网| 色哟哟一区二区三区| 午夜亚洲福利老司机| 制服丝袜亚洲精品中文字幕| 久久精品国产精品亚洲综合| 国产69精品久久久久777| 国产精品乱人伦一区二区| 91丝袜美腿高跟国产极品老师 | 国内精品在线播放| 99精品视频中文字幕| 国产精品美女久久久久av爽李琼| 国产不卡一区视频| 国产精品国产三级国产普通话蜜臀 | 中文字幕第一区二区| 成人激情av网| 亚洲女人的天堂| 欧美色综合影院| 免费精品视频在线| 欧美精品一区二区三区高清aⅴ| 国产乱色国产精品免费视频| 精品视频一区 二区 三区| 日本在线观看不卡视频| 久久免费美女视频| 不卡av电影在线播放| 亚洲一区二区三区在线看| 欧美一级生活片| 成人中文字幕在线| 国产免费观看久久| 99国产精品99久久久久久| 亚洲二区在线视频| 91精品国产日韩91久久久久久| 日韩成人伦理电影在线观看| 久久先锋资源网| 97se亚洲国产综合自在线不卡 | 91影院在线免费观看| 夜夜精品视频一区二区| 日韩午夜av一区| av影院午夜一区| 日本女人一区二区三区| 久久久不卡影院| 欧美在线观看视频一区二区| 蜜桃精品视频在线观看| 亚洲欧美日韩久久| 日韩欧美亚洲一区二区| 成人av电影在线播放| 精品福利av导航| 日本韩国视频一区二区| 老司机精品视频在线| 综合中文字幕亚洲| 日韩午夜电影av| 91无套直看片红桃| 麻豆精品国产传媒mv男同 | 成人丝袜高跟foot| 亚洲裸体xxx| 日韩三级精品电影久久久 | 欧美一级高清片在线观看| 成人ar影院免费观看视频| 首页综合国产亚洲丝袜| 中文字幕一区不卡| 日韩一区二区电影在线| 色视频一区二区| 久久中文字幕电影| 国产精品久久久久久久久久久免费看 | 一区二区三区在线看| 亚洲精选免费视频| 3d动漫精品啪啪1区2区免费| 国产亚洲一区二区三区四区 | 91官网在线观看| 轻轻草成人在线| 亚洲人成网站精品片在线观看| 精品日韩在线观看| 欧美日韩国产一级二级| 成人av电影在线网| 国产一区不卡精品| 欧美aa在线视频| 亚洲一区二区三区在线| 亚洲精品乱码久久久久久黑人| 国产天堂亚洲国产碰碰| 欧洲国产伦久久久久久久| 91丨porny丨最新| 成人黄色一级视频| www.欧美日韩国产在线| 国产精品免费视频网站| 国产日韩欧美亚洲| 精品国产电影一区二区| 成人激情免费网站| 国产成人精品午夜视频免费| 国模一区二区三区白浆| 韩国av一区二区三区在线观看| 三级一区在线视频先锋| 26uuu色噜噜精品一区| 欧美精品在线一区二区三区| 成人免费在线视频| 91精品国产乱| 在线成人高清不卡| 精品视频1区2区| 欧美伊人久久大香线蕉综合69 | 日韩欧美高清在线| 欧美精品丝袜久久久中文字幕| 在线视频国产一区| 色天使久久综合网天天| 一本色道久久综合亚洲91| av亚洲精华国产精华| 成人激情校园春色| 成人sese在线| 91小视频在线| 欧美性猛交xxxxxx富婆| 欧美日韩亚洲高清一区二区|