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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lock.h

?? 磁盤管理工具,主要管理光盤信息和內(nèi)容希望大家喜歡
?? H
?? 第 1 頁 / 共 3 頁
字號:
typedef struct        {          pthread_mutex_t recmutex; /* recursive mutex */          pthread_mutex_t guard;    /* protects the initialization */          int initialized;        }        gl_recursive_lock_t;#   define gl_recursive_lock_define(STORAGECLASS, NAME) \      STORAGECLASS gl_recursive_lock_t NAME;#   define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \      STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer;#   define gl_recursive_lock_initializer \      { PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, 0 }#   define gl_recursive_lock_init(NAME) \      if (pthread_in_use ()) glthread_recursive_lock_init (&NAME)#   define gl_recursive_lock_lock(NAME) \      if (pthread_in_use ()) glthread_recursive_lock_lock (&NAME)#   define gl_recursive_lock_unlock(NAME) \      if (pthread_in_use ()) glthread_recursive_lock_unlock (&NAME)#   define gl_recursive_lock_destroy(NAME) \      if (pthread_in_use ()) glthread_recursive_lock_destroy (&NAME)extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock);extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock);extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock);extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock);#  endif# else/* Old versions of POSIX threads on Solaris did not have recursive locks.   We have to implement them ourselves.  */typedef struct        {          pthread_mutex_t mutex;          pthread_t owner;          unsigned long depth;        }        gl_recursive_lock_t;#  define gl_recursive_lock_define(STORAGECLASS, NAME) \     STORAGECLASS gl_recursive_lock_t NAME;#  define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \     STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer;#  define gl_recursive_lock_initializer \     { PTHREAD_MUTEX_INITIALIZER, (pthread_t) 0, 0 }#  define gl_recursive_lock_init(NAME) \     if (pthread_in_use ()) glthread_recursive_lock_init (&NAME)#  define gl_recursive_lock_lock(NAME) \     if (pthread_in_use ()) glthread_recursive_lock_lock (&NAME)#  define gl_recursive_lock_unlock(NAME) \     if (pthread_in_use ()) glthread_recursive_lock_unlock (&NAME)#  define gl_recursive_lock_destroy(NAME) \     if (pthread_in_use ()) glthread_recursive_lock_destroy (&NAME)extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock);extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock);extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock);extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock);# endif/* -------------------------- gl_once_t datatype -------------------------- */typedef pthread_once_t gl_once_t;# define gl_once_define(STORAGECLASS, NAME) \    STORAGECLASS pthread_once_t NAME = PTHREAD_ONCE_INIT;# define gl_once(NAME, INITFUNCTION) \    do                                                   \      {                                                  \        if (pthread_in_use ())                           \          {                                              \            if (pthread_once (&NAME, INITFUNCTION) != 0) \              abort ();                                  \          }                                              \        else                                             \          {                                              \            if (glthread_once_singlethreaded (&NAME))    \              INITFUNCTION ();                           \          }                                              \      }                                                  \    while (0)extern int glthread_once_singlethreaded (pthread_once_t *once_control);# ifdef __cplusplus}# endif#endif/* ========================================================================= */#if USE_PTH_THREADS/* Use the GNU Pth threads library.  */# include <pth.h># include <stdlib.h># ifdef __cplusplusextern "C" {# endif# if USE_PTH_THREADS_WEAK/* Use weak references to the GNU Pth threads library.  */#  pragma weak pth_mutex_init#  pragma weak pth_mutex_acquire#  pragma weak pth_mutex_release#  pragma weak pth_rwlock_init#  pragma weak pth_rwlock_acquire#  pragma weak pth_rwlock_release#  pragma weak pth_once#  pragma weak pth_cancel#  define pth_in_use() (pth_cancel != NULL)# else#  define pth_in_use() 1# endif/* -------------------------- gl_lock_t datatype -------------------------- */typedef pth_mutex_t gl_lock_t;# define gl_lock_define(STORAGECLASS, NAME) \    STORAGECLASS pth_mutex_t NAME;# define gl_lock_define_initialized(STORAGECLASS, NAME) \    STORAGECLASS pth_mutex_t NAME = gl_lock_initializer;# define gl_lock_initializer \    PTH_MUTEX_INIT# define gl_lock_init(NAME) \    if (pth_in_use() && !pth_mutex_init (&NAME)) abort ()# define gl_lock_lock(NAME) \    if (pth_in_use() && !pth_mutex_acquire (&NAME, 0, NULL)) abort ()# define gl_lock_unlock(NAME) \    if (pth_in_use() && !pth_mutex_release (&NAME)) abort ()# define gl_lock_destroy(NAME) \    (void)(&NAME)/* ------------------------- gl_rwlock_t datatype ------------------------- */typedef pth_rwlock_t gl_rwlock_t;#  define gl_rwlock_define(STORAGECLASS, NAME) \     STORAGECLASS pth_rwlock_t NAME;#  define gl_rwlock_define_initialized(STORAGECLASS, NAME) \     STORAGECLASS pth_rwlock_t NAME = gl_rwlock_initializer;#  define gl_rwlock_initializer \     PTH_RWLOCK_INIT#  define gl_rwlock_init(NAME) \     if (pth_in_use() && !pth_rwlock_init (&NAME)) abort ()#  define gl_rwlock_rdlock(NAME) \     if (pth_in_use() && !pth_rwlock_acquire (&NAME, PTH_RWLOCK_RD, 0, NULL)) abort ()#  define gl_rwlock_wrlock(NAME) \     if (pth_in_use() && !pth_rwlock_acquire (&NAME, PTH_RWLOCK_RW, 0, NULL)) abort ()#  define gl_rwlock_unlock(NAME) \     if (pth_in_use() && !pth_rwlock_release (&NAME)) abort ()#  define gl_rwlock_destroy(NAME) \     (void)(&NAME)/* --------------------- gl_recursive_lock_t datatype --------------------- *//* In Pth, mutexes are recursive by default.  */typedef pth_mutex_t gl_recursive_lock_t;#  define gl_recursive_lock_define(STORAGECLASS, NAME) \     STORAGECLASS pth_mutex_t NAME;#  define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \     STORAGECLASS pth_mutex_t NAME = gl_recursive_lock_initializer;#  define gl_recursive_lock_initializer \     PTH_MUTEX_INIT#  define gl_recursive_lock_init(NAME) \     if (pth_in_use() && !pth_mutex_init (&NAME)) abort ()#  define gl_recursive_lock_lock(NAME) \     if (pth_in_use() && !pth_mutex_acquire (&NAME, 0, NULL)) abort ()#  define gl_recursive_lock_unlock(NAME) \     if (pth_in_use() && !pth_mutex_release (&NAME)) abort ()#  define gl_recursive_lock_destroy(NAME) \     (void)(&NAME)/* -------------------------- gl_once_t datatype -------------------------- */typedef pth_once_t gl_once_t;# define gl_once_define(STORAGECLASS, NAME) \    STORAGECLASS pth_once_t NAME = PTH_ONCE_INIT;# define gl_once(NAME, INITFUNCTION) \    do                                                                \      {                                                               \        if (pth_in_use ())                                            \          {                                                           \            void (*gl_once_temp) (void) = INITFUNCTION;               \            if (!pth_once (&NAME, glthread_once_call, &gl_once_temp)) \              abort ();                                               \          }                                                           \        else                                                          \          {                                                           \            if (glthread_once_singlethreaded (&NAME))                 \              INITFUNCTION ();                                        \          }                                                           \      }                                                               \    while (0)extern void glthread_once_call (void *arg);extern int glthread_once_singlethreaded (pth_once_t *once_control);# ifdef __cplusplus}# endif#endif/* ========================================================================= */#if USE_SOLARIS_THREADS/* Use the old Solaris threads library.  */# include <thread.h># include <synch.h># include <stdlib.h># ifdef __cplusplusextern "C" {# endif# if USE_SOLARIS_THREADS_WEAK/* Use weak references to the old Solaris threads library.  */#  pragma weak mutex_init#  pragma weak mutex_lock#  pragma weak mutex_unlock#  pragma weak mutex_destroy#  pragma weak rwlock_init#  pragma weak rw_rdlock#  pragma weak rw_wrlock#  pragma weak rw_unlock#  pragma weak rwlock_destroy#  pragma weak thr_self#  pragma weak thr_suspend#  define thread_in_use() (thr_suspend != NULL)# else#  define thread_in_use() 1# endif/* -------------------------- gl_lock_t datatype -------------------------- */typedef mutex_t gl_lock_t;# define gl_lock_define(STORAGECLASS, NAME) \    STORAGECLASS mutex_t NAME;# define gl_lock_define_initialized(STORAGECLASS, NAME) \    STORAGECLASS mutex_t NAME = gl_lock_initializer;# define gl_lock_initializer \    DEFAULTMUTEX# define gl_lock_init(NAME) \    if (thread_in_use () && mutex_init (&NAME, USYNC_THREAD, NULL) != 0) abort ()# define gl_lock_lock(NAME) \    if (thread_in_use () && mutex_lock (&NAME) != 0) abort ()# define gl_lock_unlock(NAME) \    if (thread_in_use () && mutex_unlock (&NAME) != 0) abort ()# define gl_lock_destroy(NAME) \    if (thread_in_use () && mutex_destroy (&NAME) != 0) abort ()/* ------------------------- gl_rwlock_t datatype ------------------------- */typedef rwlock_t gl_rwlock_t;# define gl_rwlock_define(STORAGECLASS, NAME) \    STORAGECLASS rwlock_t NAME;# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \    STORAGECLASS rwlock_t NAME = gl_rwlock_initializer;# define gl_rwlock_initializer \    DEFAULTRWLOCK# define gl_rwlock_init(NAME) \    if (thread_in_use () && rwlock_init (&NAME, USYNC_THREAD, NULL) != 0) abort ()

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99视频在线精品| 裸体一区二区三区| 成人一区二区三区| 久久久久久久久久久久电影| 国产伦精品一区二区三区免费迷| 久久亚区不卡日本| 国产99久久久国产精品潘金| 国产精品乱码人人做人人爱| 99精品一区二区三区| 亚洲综合久久久久| 日韩一级高清毛片| 国产精品综合一区二区| 中文字幕字幕中文在线中不卡视频| 一本一道波多野结衣一区二区| 一区二区三区免费看视频| 欧美日韩国产系列| 韩国三级在线一区| 国产精品久久久久影院亚瑟| 91成人网在线| 久草热8精品视频在线观看| 国产嫩草影院久久久久| 在线看日本不卡| 九九国产精品视频| 亚洲欧洲日本在线| 欧美日韩亚州综合| 国产麻豆91精品| 亚洲动漫第一页| 精品成人一区二区三区四区| 成人免费av网站| 五月婷婷综合网| 国产欧美精品一区二区色综合| 欧美天天综合网| 国产精品一卡二| 午夜精品123| 中文字幕在线观看不卡| 日韩欧美精品在线视频| 99久久久久久99| 韩国三级电影一区二区| 亚洲成av人影院| 国产精品美女久久久久久久久 | 欧美体内she精视频| 国产在线精品不卡| 亚洲不卡av一区二区三区| 国产亚洲欧美日韩在线一区| 欧美日韩国产中文| av成人老司机| 国产成人一区在线| 蜜桃视频在线观看一区二区| 亚洲美女屁股眼交| 国产欧美日韩不卡| 精品福利一区二区三区| 欧美日韩日本视频| 99久久久无码国产精品| 国产超碰在线一区| 精品写真视频在线观看| 日本欧美韩国一区三区| 一区二区三区精品在线观看| 中国av一区二区三区| 久久亚洲精华国产精华液 | 蜜桃久久久久久| 亚洲大型综合色站| 亚洲精品成人在线| 国产精品入口麻豆原神| 欧美精品一区二区久久久| 欧美日韩国产美| 欧美三级乱人伦电影| 色狠狠色噜噜噜综合网| 91免费国产在线| 99久久精品费精品国产一区二区| 国产成人在线色| 国产91丝袜在线播放九色| 国产原创一区二区| 国产高清亚洲一区| 国产伦精品一区二区三区视频青涩 | 老司机午夜精品| 欧美aaaaaa午夜精品| 午夜成人在线视频| 日日欢夜夜爽一区| 午夜久久福利影院| 奇米影视一区二区三区小说| 午夜精品123| 奇米影视一区二区三区| 日本色综合中文字幕| 免费在线观看视频一区| 麻豆精品国产91久久久久久| 久久精品国产免费| 国产乱码精品一区二区三区忘忧草 | 亚洲国产精品久久久男人的天堂| 一区二区在线看| 亚洲一二三区在线观看| 亚洲高清视频的网址| 婷婷国产v国产偷v亚洲高清| 日本91福利区| 国产乱码字幕精品高清av| 成人精品国产免费网站| jvid福利写真一区二区三区| 成人国产在线观看| 色天使色偷偷av一区二区| 欧美日韩日日骚| 精品美女被调教视频大全网站| 久久网这里都是精品| 亚洲欧洲日韩女同| 五月激情综合婷婷| 国产精品一二三在| 一本高清dvd不卡在线观看| 欧美日韩精品一区二区三区四区| 7777女厕盗摄久久久| 久久午夜国产精品| 亚洲免费av在线| 蜜臀av一区二区三区| 国产成人精品一区二区三区四区 | 欧美亚洲免费在线一区| 欧美一区二区播放| 中文无字幕一区二区三区 | 日韩成人av影视| 国产一区二区三区综合| 色综合色狠狠天天综合色| 在线播放欧美女士性生活| 久久蜜桃av一区精品变态类天堂 | 欧洲av一区二区嗯嗯嗯啊| 欧美一区二区三区视频免费播放| 国产女同互慰高潮91漫画| 亚洲成精国产精品女| 粉嫩嫩av羞羞动漫久久久| 欧美高清视频一二三区 | 久久久国产精华| 亚洲一区二区精品久久av| 久久电影网站中文字幕| 色综合久久99| 亚洲精品在线电影| 亚洲电影在线免费观看| 成人免费黄色在线| 欧美电影免费观看高清完整版在线| 国产精品日日摸夜夜摸av| 蜜桃视频一区二区| 欧美视频日韩视频| 国产精品美女久久久久久久久久久| 日韩国产在线观看| 色乱码一区二区三区88| 国产日韩欧美精品一区| 日韩va亚洲va欧美va久久| 91天堂素人约啪| 久久精品欧美一区二区三区不卡| 日韩中文字幕亚洲一区二区va在线 | 日韩欧美一区在线| 亚洲激情在线激情| 不卡在线观看av| 精品国产露脸精彩对白| 手机精品视频在线观看| 一本久久a久久精品亚洲| 日本一区二区电影| 国产伦精一区二区三区| 精品少妇一区二区三区 | 日韩一级完整毛片| 亚洲bt欧美bt精品| 色综合天天综合狠狠| 国产欧美日韩另类视频免费观看| 精品一区二区av| 欧美一级欧美一级在线播放| 亚洲图片欧美视频| 在线精品视频免费观看| 自拍偷拍欧美精品| 95精品视频在线| 亚洲欧洲av一区二区三区久久| 国产成人a级片| 国产三级精品三级在线专区| 国产自产v一区二区三区c| 精品国产91乱码一区二区三区| 蜜桃视频在线观看一区二区| 日韩一区二区三区四区| 奇米影视在线99精品| 欧美大片一区二区三区| 狠狠色狠狠色综合系列| 久久综合狠狠综合久久激情| 国产精品99久| 国产精品久久久久aaaa樱花| 成av人片一区二区| 一区二区视频免费在线观看| 欧美在线影院一区二区| 亚洲成人tv网| 精品免费日韩av| 成人一区二区三区中文字幕| 最新成人av在线| 欧美私人免费视频| 日本不卡一区二区| 精品久久久久久久久久久久久久久久久| 日本三级亚洲精品| 久久人人爽爽爽人久久久| 成人丝袜高跟foot| 亚洲综合区在线| 日韩欧美综合在线| 风间由美一区二区三区在线观看 | 一区二区三区电影在线播| 欧美性受xxxx| 秋霞影院一区二区| 国产区在线观看成人精品 | 丁香五精品蜜臀久久久久99网站| 国产精品国产成人国产三级 | 久久久亚洲精华液精华液精华液| 国产不卡在线一区|