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

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

?? my_pthread.h

?? 是自己開發(fā)的程序
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* Copyright (C) 2000 MySQL AB   This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2 of the License, or   (at your option) any later version.   This program 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 General Public License for more details.   You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA *//* Defines to make different thread packages compatible */#ifndef _my_pthread_h#define _my_pthread_h#include <errno.h>#ifndef ETIME#define ETIME ETIMEDOUT				/* For FreeBSD */#endif#ifdef  __cplusplus#define EXTERNC extern "C"extern "C" {#else#define EXTERNC#endif /* __cplusplus */ #if defined(__WIN__) || defined(OS2)#ifdef OS2typedef ULONG     HANDLE;typedef ULONG     DWORD;typedef int sigset_t;#endif#ifdef OS2typedef HMTX             pthread_mutex_t;#elsetypedef CRITICAL_SECTION pthread_mutex_t;#endiftypedef HANDLE		 pthread_t;typedef struct thread_attr {    DWORD dwStackSize ;    DWORD dwCreatingFlag ;    int priority ;} pthread_attr_t ;typedef struct { int dummy; } pthread_condattr_t;/* Implementation of posix conditions */typedef struct st_pthread_link {  DWORD thread_id;  struct st_pthread_link *next;} pthread_link;typedef struct {  uint32 waiting;#ifdef OS2  HEV    semaphore;#else  HANDLE semaphore;#endif} pthread_cond_t;#ifndef OS2struct timespec {		/* For pthread_cond_timedwait() */    time_t tv_sec;    long tv_nsec;};#endiftypedef int pthread_mutexattr_t;#define win_pthread_self my_thread_var->pthread_self#ifdef OS2#define pthread_handler_t EXTERNC void * _Optlinktypedef void * (_Optlink *pthread_handler)(void *);#else#define pthread_handler_t EXTERNC void * __cdecltypedef void * (__cdecl *pthread_handler)(void *);#endifvoid win_pthread_init(void);int win_pthread_setspecific(void *A,void *B,uint length);int pthread_create(pthread_t *,pthread_attr_t *,pthread_handler,void *);int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr);int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,			   struct timespec *abstime);int pthread_cond_signal(pthread_cond_t *cond);int pthread_cond_broadcast(pthread_cond_t *cond);int pthread_cond_destroy(pthread_cond_t *cond);int pthread_attr_init(pthread_attr_t *connect_att);int pthread_attr_setstacksize(pthread_attr_t *connect_att,DWORD stack);int pthread_attr_setprio(pthread_attr_t *connect_att,int priority);int pthread_attr_destroy(pthread_attr_t *connect_att);struct tm *localtime_r(const time_t *timep,struct tm *tmp);struct tm *gmtime_r(const time_t *timep,struct tm *tmp);void pthread_exit(void *a);	 /* was #define pthread_exit(A) ExitThread(A)*/#ifndef OS2#define ETIMEDOUT 145		    /* Win32 doesn't have this */#define getpid() GetCurrentThreadId()#endif#define pthread_self() win_pthread_self#define HAVE_LOCALTIME_R		1#define _REENTRANT			1#define HAVE_PTHREAD_ATTR_SETSTACKSIZE	1#ifdef USE_TLS					/* For LIBMYSQL.DLL */#undef SAFE_MUTEX				/* This will cause conflicts */#define pthread_key(T,V)  DWORD V#define pthread_key_create(A,B) ((*A=TlsAlloc())==0xFFFFFFFF)#define pthread_key_delete(A) TlsFree(A)#define pthread_getspecific(A) (TlsGetValue(A))#define my_pthread_getspecific(T,A) ((T) TlsGetValue(A))#define my_pthread_getspecific_ptr(T,V) ((T) TlsGetValue(V))#define my_pthread_setspecific_ptr(T,V) (!TlsSetValue((T),(V)))#define pthread_setspecific(A,B) (!TlsSetValue((A),(B)))#else#define pthread_key(T,V) __declspec(thread) T V#define pthread_key_create(A,B) pthread_dummy(0)#define pthread_key_delete(A) pthread_dummy(0)#define pthread_getspecific(A) (&(A))#define my_pthread_getspecific(T,A) (&(A))#define my_pthread_getspecific_ptr(T,V) (V)#define my_pthread_setspecific_ptr(T,V) ((T)=(V),0)#define pthread_setspecific(A,B) win_pthread_setspecific(&(A),(B),sizeof(A))#endif /* USE_TLS */#define pthread_equal(A,B) ((A) == (B))#ifdef OS2extern int pthread_mutex_init (pthread_mutex_t *, const pthread_mutexattr_t *);extern int pthread_mutex_lock (pthread_mutex_t *);extern int pthread_mutex_unlock (pthread_mutex_t *);extern int pthread_mutex_destroy (pthread_mutex_t *);#define my_pthread_setprio(A,B)  DosSetPriority(PRTYS_THREAD,PRTYC_NOCHANGE, B, A)#define pthread_kill(A,B) raise(B)#define pthread_exit(A) pthread_dummy()#else#define pthread_mutex_init(A,B)  (InitializeCriticalSection(A),0)#define pthread_mutex_lock(A)	 (EnterCriticalSection(A),0)#define pthread_mutex_trylock(A) (WaitForSingleObject((A), 0) == WAIT_TIMEOUT)#define pthread_mutex_unlock(A)  LeaveCriticalSection(A)#define pthread_mutex_destroy(A) DeleteCriticalSection(A)#define my_pthread_setprio(A,B)  SetThreadPriority(GetCurrentThread(), (B))#define pthread_kill(A,B) pthread_dummy(0)#endif /* OS2 *//* Dummy defines for easier code */#define pthread_attr_setdetachstate(A,B) pthread_dummy(0)#define my_pthread_attr_setprio(A,B) pthread_attr_setprio(A,B)#define pthread_attr_setscope(A,B)#define pthread_detach_this_thread()#define pthread_condattr_init(A)#define pthread_condattr_destroy(A)/*Irena: compiler does not like this: *//*#define my_pthread_getprio(pthread_t thread_id) pthread_dummy(0) */#define my_pthread_getprio(thread_id) pthread_dummy(0)#elif defined(HAVE_UNIXWARE7_THREADS)#include <thread.h>#include <synch.h>#ifndef _REENTRANT#define _REENTRANT#endif#define HAVE_NONPOSIX_SIGWAIT#define pthread_t thread_t#define pthread_cond_t cond_t#define pthread_mutex_t mutex_t#define pthread_key_t thread_key_ttypedef int pthread_attr_t;			/* Needed by Unixware 7.0.0 */#define pthread_key_create(A,B) thr_keycreate((A),(B))#define pthread_key_delete(A) thr_keydelete(A)#define pthread_handler_t EXTERNC void *#define pthread_key(T,V) pthread_key_t Vvoid *	my_pthread_getspecific_imp(pthread_key_t key);#define my_pthread_getspecific(A,B) ((A) my_pthread_getspecific_imp(B))#define my_pthread_getspecific_ptr(T,V) my_pthread_getspecific(T,V)#define pthread_setspecific(A,B) thr_setspecific(A,B)#define my_pthread_setspecific_ptr(T,V) pthread_setspecific(T,V)#define pthread_create(A,B,C,D) thr_create(NULL,65536L,(C),(D),THR_DETACHED,(A))#define pthread_cond_init(a,b) cond_init((a),USYNC_THREAD,NULL)#define pthread_cond_destroy(a) cond_destroy(a)#define pthread_cond_signal(a) cond_signal(a)#define pthread_cond_wait(a,b) cond_wait((a),(b))#define pthread_cond_timedwait(a,b,c) cond_timedwait((a),(b),(c))#define pthread_cond_broadcast(a) cond_broadcast(a)#define pthread_mutex_init(a,b) mutex_init((a),USYNC_THREAD,NULL)#define pthread_mutex_lock(a) mutex_lock(a)#define pthread_mutex_unlock(a) mutex_unlock(a)#define pthread_mutex_destroy(a) mutex_destroy(a)#define pthread_self() thr_self()#define pthread_exit(A) thr_exit(A)#define pthread_equal(A,B) (((A) == (B)) ? 1 : 0)#define pthread_kill(A,B) thr_kill((A),(B))#define HAVE_PTHREAD_KILL#define pthread_sigmask(A,B,C) thr_sigsetmask((A),(B),(C))extern int my_sigwait(const sigset_t *set,int *sig);#define pthread_detach_this_thread() pthread_dummy(0)#define pthread_attr_init(A) pthread_dummy(0)#define pthread_attr_destroy(A) pthread_dummy(0)#define pthread_attr_setscope(A,B) pthread_dummy(0)#define pthread_attr_setdetachstate(A,B) pthread_dummy(0)#define my_pthread_setprio(A,B) pthread_dummy (0)#define my_pthread_getprio(A) pthread_dummy (0)#define my_pthread_attr_setprio(A,B) pthread_dummy(0)#else /* Normal threads */#ifdef HAVE_rts_threads#define sigwait org_sigwait#include <signal.h>#undef sigwait#endif#include <pthread.h>#ifndef _REENTRANT#define _REENTRANT#endif#ifdef HAVE_THR_SETCONCURRENCY#include <thread.h>			/* Probably solaris */#endif#ifdef HAVE_SCHED_H#include <sched.h>#endif#ifdef HAVE_SYNCH_H#include <synch.h>#endif#if defined(__EMX__) && (!defined(EMX_PTHREAD_REV) || (EMX_PTHREAD_REV < 2))#error Requires at least rev 2 of EMX pthreads library.#endif#ifdef __NETWARE__void my_pthread_exit(void *status);#define pthread_exit(A) my_pthread_exit(A)#endifextern int my_pthread_getprio(pthread_t thread_id);#define pthread_key(T,V) pthread_key_t V#define my_pthread_getspecific_ptr(T,V) my_pthread_getspecific(T,(V))#define my_pthread_setspecific_ptr(T,V) pthread_setspecific(T,(void*) (V))#define pthread_detach_this_thread()#define pthread_handler_t EXTERNC void *typedef void *(* pthread_handler)(void *);/* Test first for RTS or FSU threads */#if defined(PTHREAD_SCOPE_GLOBAL) && !defined(PTHREAD_SCOPE_SYSTEM)#define HAVE_rts_threadsextern int my_pthread_create_detached;#define pthread_sigmask(A,B,C) sigprocmask((A),(B),(C))#define PTHREAD_CREATE_DETACHED &my_pthread_create_detached#define PTHREAD_SCOPE_SYSTEM  PTHREAD_SCOPE_GLOBAL#define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_LOCAL#define USE_ALARM_THREAD#elif defined(HAVE_mit_thread)#define USE_ALARM_THREAD#undef	HAVE_LOCALTIME_R#define HAVE_LOCALTIME_R#undef	HAVE_GMTIME_R#define HAVE_GMTIME_R#undef	HAVE_PTHREAD_ATTR_SETSCOPE#define HAVE_PTHREAD_ATTR_SETSCOPE#undef HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE	/* If we are running linux */#undef HAVE_RWLOCK_T#undef HAVE_RWLOCK_INIT#undef HAVE_PTHREAD_RWLOCK_RDLOCK#undef HAVE_SNPRINTF#define my_pthread_attr_setprio(A,B)#endif /* defined(PTHREAD_SCOPE_GLOBAL) && !defined(PTHREAD_SCOPE_SYSTEM) */#if defined(_BSDI_VERSION) && _BSDI_VERSION < 199910int sigwait(sigset_t *set, int *sig);#endif#ifndef HAVE_NONPOSIX_SIGWAIT#define my_sigwait(A,B) sigwait((A),(B))#elseint my_sigwait(const sigset_t *set,int *sig);#endif#ifdef HAVE_NONPOSIX_PTHREAD_MUTEX_INIT#ifndef SAFE_MUTEX#define pthread_mutex_init(a,b) my_pthread_mutex_init((a),(b))extern int my_pthread_mutex_init(pthread_mutex_t *mp,				 const pthread_mutexattr_t *attr);#endif /* SAFE_MUTEX */#define pthread_cond_init(a,b) my_pthread_cond_init((a),(b))extern int my_pthread_cond_init(pthread_cond_t *mp,				const pthread_condattr_t *attr);#endif /* HAVE_NONPOSIX_PTHREAD_MUTEX_INIT */#if defined(HAVE_SIGTHREADMASK) && !defined(HAVE_PTHREAD_SIGMASK)#define pthread_sigmask(A,B,C) sigthreadmask((A),(B),(C))#endif#if !defined(HAVE_SIGWAIT) && !defined(HAVE_mit_thread) && !defined(HAVE_rts_threads) && !defined(sigwait) && !defined(alpha_linux_port) && !defined(HAVE_NONPOSIX_SIGWAIT) && !defined(HAVE_DEC_3_2_THREADS) && !defined(_AIX)int sigwait(sigset_t *setp, int *sigp);		/* Use our implemention */#endif/*  We define my_sigset() and use that instead of the system sigset() so that  we can favor an implementation based on sigaction(). On some systems, such  as Mac OS X, sigset() results in flags such as SA_RESTART being set, and  we want to make sure that no such flags are set.*/#if defined(HAVE_SIGACTION) && !defined(my_sigset)#define my_sigset(A,B) do { struct sigaction s; sigset_t set;              \                            sigemptyset(&set);                             \                            s.sa_handler = (B);                            \                            s.sa_mask    = set;                            \                            s.sa_flags   = 0;                              \                            sigaction((A), &s, (struct sigaction *) NULL); \                          } while (0)#elif defined(HAVE_SIGSET) && !defined(my_sigset)#define my_sigset(A,B) sigset((A),(B))#elif !defined(my_sigset)#define my_sigset(A,B) signal((A),(B))#endif#ifndef my_pthread_setprio#if defined(HAVE_PTHREAD_SETPRIO_NP)		/* FSU threads */#define my_pthread_setprio(A,B) pthread_setprio_np((A),(B))#elif defined(HAVE_PTHREAD_SETPRIO)#define my_pthread_setprio(A,B) pthread_setprio((A),(B))#elseextern void my_pthread_setprio(pthread_t thread_id,int prior);#endif#endif#ifndef my_pthread_attr_setprio#ifdef HAVE_PTHREAD_ATTR_SETPRIO

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲与欧洲av电影| 国产精品视频观看| 奇米影视一区二区三区| 欧美日韩国产高清一区二区| 亚洲不卡在线观看| 在线不卡a资源高清| 日本特黄久久久高潮| 日韩欧美国产午夜精品| 国产一区二区中文字幕| 国产欧美日韩三级| 91污在线观看| 五月天欧美精品| 欧美大白屁股肥臀xxxxxx| 国产精品一区二区无线| 国产精品久线观看视频| 91久久精品一区二区二区| 日韩国产欧美在线播放| 久久久国际精品| 91蜜桃网址入口| 日韩国产欧美一区二区三区| 久久毛片高清国产| 色婷婷久久综合| 天天影视涩香欲综合网| 国产免费观看久久| 欧美特级限制片免费在线观看| 日韩电影在线免费看| 国产亚洲一区二区三区| 欧美日韩一区精品| 国产成人av电影在线观看| 亚洲午夜国产一区99re久久| 欧美不卡一二三| 91网站在线播放| 精品一区二区av| 一级精品视频在线观看宜春院| 日韩精品一区二| 91高清视频在线| 国产精品一区二区在线观看网站 | 成人综合婷婷国产精品久久蜜臀 | 性做久久久久久免费观看| 亚洲精品一线二线三线| 在线视频国产一区| 国产精品一二二区| 天天av天天翘天天综合网色鬼国产| 久久中文娱乐网| 欧美日韩国产bt| 日韩精品一区二区三区四区视频| 色素色在线综合| 国产xxx精品视频大全| 日韩av二区在线播放| 亚洲视频一区二区免费在线观看| 日韩美女主播在线视频一区二区三区 | 免费日本视频一区| 一区二区三区在线播| 久久久91精品国产一区二区三区| 在线播放91灌醉迷j高跟美女| 成人午夜看片网址| 极品少妇一区二区三区精品视频| 亚洲一区在线观看网站| 综合中文字幕亚洲| 国产欧美精品一区| 国产亚洲欧洲997久久综合| 日韩一区二区麻豆国产| 欧美日韩中文精品| 欧美亚洲国产怡红院影院| 99这里只有精品| 粉嫩在线一区二区三区视频| 精品亚洲成av人在线观看| 免费国产亚洲视频| 亚洲成av人片一区二区三区| 一区二区国产盗摄色噜噜| 国产精品久久久久一区 | 成人sese在线| 午夜影院久久久| 国产夜色精品一区二区av| 91极品视觉盛宴| 国产综合色精品一区二区三区| 伊人一区二区三区| 亚洲欧美日韩小说| 亚洲女女做受ⅹxx高潮| 99r国产精品| 亚洲视频香蕉人妖| 不卡一区中文字幕| 精品欧美一区二区久久 | 欧美一级搡bbbb搡bbbb| 懂色av中文一区二区三区| 国产精品资源在线| 精品国产乱码久久久久久免费 | 91首页免费视频| 免费人成黄页网站在线一区二区| 亚洲一区二区三区自拍| 国产精品久久久久久久蜜臀| 久久奇米777| aa级大片欧美| 91丨九色丨国产丨porny| 成人av手机在线观看| av电影天堂一区二区在线| 91丨porny丨国产入口| 欧美在线三级电影| 91精品国产综合久久香蕉麻豆| 欧美美女网站色| 欧美成人高清电影在线| 国产性天天综合网| 最近中文字幕一区二区三区| 亚洲午夜精品一区二区三区他趣| 日日夜夜精品视频免费 | 亚洲综合色在线| 午夜a成v人精品| 美女视频网站久久| 国产精品99久久久久久似苏梦涵| 成人av综合一区| 色婷婷av一区二区三区gif| 欧美精品高清视频| 国产日韩欧美a| 亚洲一二三四久久| 精彩视频一区二区三区| av福利精品导航| 中文字幕在线视频一区| 一区二区高清免费观看影视大全 | 亚洲私人黄色宅男| 日韩av网站免费在线| 国产成人精品亚洲777人妖| 色哟哟国产精品免费观看| 欧美丰满嫩嫩电影| 国产女人aaa级久久久级| 五月天欧美精品| eeuss鲁一区二区三区| 日韩欧美在线1卡| 亚洲视频一区在线| 国产乱理伦片在线观看夜一区| 色一情一伦一子一伦一区| 精品黑人一区二区三区久久| 亚洲激情图片一区| 国产精品亚洲а∨天堂免在线| 欧洲在线/亚洲| 欧美经典三级视频一区二区三区| 亚洲成人你懂的| av午夜一区麻豆| 2021国产精品久久精品| 亚洲成人tv网| 91免费视频大全| 国产精品伦一区二区三级视频| 免费观看成人av| 欧美日韩午夜精品| 亚洲精品免费电影| 不卡的av中国片| 国产日韩精品一区二区浪潮av| 日本欧美大码aⅴ在线播放| 91视频免费看| 国产精品久久三区| 国产精品羞羞答答xxdd| 精品蜜桃在线看| 日本午夜精品视频在线观看| 欧日韩精品视频| 亚洲欧美日韩国产中文在线| 国产成人亚洲综合a∨猫咪| 精品国产乱码久久| 秋霞av亚洲一区二区三| 欧美揉bbbbb揉bbbbb| 一区二区三区日韩精品视频| 成人激情图片网| 国产午夜亚洲精品理论片色戒| 蜜桃精品在线观看| 欧美一区二区私人影院日本| 亚洲一区二区精品视频| 91成人在线观看喷潮| 亚洲美女视频在线观看| 99热在这里有精品免费| 国产精品第一页第二页第三页| 国产黄色精品视频| 国产日韩av一区二区| 国产aⅴ精品一区二区三区色成熟| 精品动漫一区二区三区在线观看| 奇米影视一区二区三区| 日韩三级在线观看| 精品在线亚洲视频| 久久蜜臀精品av| 成人黄色免费短视频| 国产精品久久久爽爽爽麻豆色哟哟| 国产白丝网站精品污在线入口| 国产精品网站在线| k8久久久一区二区三区 | 青青草原综合久久大伊人精品| 婷婷六月综合亚洲| 亚洲免费看黄网站| 亚洲不卡在线观看| 午夜电影网亚洲视频| 日韩av一区二区在线影视| 国产一区二区在线免费观看| 风流少妇一区二区| 亚洲美女免费视频| 午夜精品一区二区三区电影天堂 | 久久综合五月天婷婷伊人| 一区二区在线电影| 成人av在线看| 中文字幕欧美国产| 国产大片一区二区| 成人欧美一区二区三区| 国产成人自拍在线| 欧美一区二区三区小说| 亚洲欧美在线另类|