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

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

?? pthread.h

?? ngrep strives to provide most of GNU grep s common features, applying them to the network layer. ngr
?? H
?? 第 1 頁 / 共 3 頁
字號:
/*
 * POSIX Limits
 *
 *	PTHREAD_DESTRUCTOR_ITERATIONS
 *		Standard states this must be at least
 *		4.
 *
 *	PTHREAD_KEYS_MAX
 *		WIN32 permits only 64 TLS keys per process.
 *		This limitation could be worked around by
 *		simply simulating keys.
 *
 *	PTHREADS_STACK_MIN
 *		POSIX specifies 0 which is also the value WIN32
 *		interprets as allowing the system to
 *		set the size to that of the main thread. The
 *		maximum stack size in Win32 is 1Meg. WIN32
 *		allocates more stack as required up to the 1Meg
 *		limit.
 *
 *	PTHREAD_THREADS_MAX
 *		Not documented by WIN32. Wrote a test program
 *		that kept creating threads until it failed
 *		revealed this approximate number (Windows NT).
 *		This number is somewhat less for Windows 9x
 *		and is effectively less than 64. Perhaps this
 *		constant should be set at DLL load time.
 *
 */
#define PTHREAD_DESTRUCTOR_ITERATIONS			   4
#define PTHREAD_KEYS_MAX				  64
#define PTHREAD_STACK_MIN				   0
#define PTHREAD_THREADS_MAX				2019
#if __GNUC__ && ! defined (__declspec)
# error Please upgrade your GNU compiler to one that supports __declspec.
#endif
/*
 * When building the DLL code, you should define PTW32_BUILD so that
 * the variables/functions are exported correctly. When using the DLL,
 * do NOT define PTW32_BUILD, and then the variables/functions will
 * be imported correctly.
 */
#ifdef _DLL
#  ifdef PTW32_BUILD
#    define PTW32_DLLPORT __declspec (dllexport)
#  else
#    define PTW32_DLLPORT __declspec (dllimport)
#  endif
#endif
#if defined(_UWIN) && PTW32_LEVEL >= PTW32_LEVEL_MAX
#   include	<sys/types.h>
#else
typedef struct pthread_t_ *pthread_t;
typedef struct pthread_attr_t_ *pthread_attr_t;
typedef struct pthread_once_t_ pthread_once_t;
typedef struct pthread_key_t_ *pthread_key_t;
typedef struct pthread_mutex_t_ *pthread_mutex_t;
typedef struct pthread_mutexattr_t_ *pthread_mutexattr_t;
typedef struct pthread_cond_t_ *pthread_cond_t;
typedef struct pthread_condattr_t_ *pthread_condattr_t;
#endif
typedef struct pthread_rwlock_t_ *pthread_rwlock_t;
typedef struct pthread_rwlockattr_t_ *pthread_rwlockattr_t;
typedef struct pthread_spinlock_t_ *pthread_spinlock_t;
typedef struct pthread_barrier_t_ *pthread_barrier_t;
typedef struct pthread_barrierattr_t_ *pthread_barrierattr_t;
/*
 * ====================
 * ====================
 * POSIX Threads
 * ====================
 * ====================
 */
enum {
/*
 * pthread_attr_{get,set}detachstate
 */
  PTHREAD_CREATE_JOINABLE	= 0,  /* Default */
  PTHREAD_CREATE_DETACHED	= 1,
/*
 * pthread_attr_{get,set}inheritsched
 */
  PTHREAD_INHERIT_SCHED 	= 0,
  PTHREAD_EXPLICIT_SCHED	= 1,  /* Default */
/*
 * pthread_{get,set}scope
 */
  PTHREAD_SCOPE_PROCESS 	= 0,
  PTHREAD_SCOPE_SYSTEM		= 1,  /* Default */
/*
 * pthread_setcancelstate paramters
 */
  PTHREAD_CANCEL_ENABLE 	= 0,  /* Default */
  PTHREAD_CANCEL_DISABLE	= 1,
/*
 * pthread_setcanceltype parameters
 */
  PTHREAD_CANCEL_ASYNCHRONOUS	= 0,
  PTHREAD_CANCEL_DEFERRED	= 1,  /* Default */
/*
 * pthread_mutexattr_{get,set}pshared
 * pthread_condattr_{get,set}pshared
 */
  PTHREAD_PROCESS_PRIVATE	= 0,
  PTHREAD_PROCESS_SHARED	= 1,
/*
 * pthread_barrier_wait
 */
  PTHREAD_BARRIER_SERIAL_THREAD = -1
};
/*
 * ====================
 * ====================
 * Cancelation
 * ====================
 * ====================
 */
#define PTHREAD_CANCELED       ((void *) -1)
/*
 * ====================
 * ====================
 * Once Key
 * ====================
 * ====================
 */
#define PTHREAD_ONCE_INIT	{ FALSE, -1 }
struct pthread_once_t_
{
  int done;		    /* indicates if user function executed  */
  long started; 	    /* First thread to increment this value */
			    /* to zero executes the user function   */
};
/*
 * ====================
 * ====================
 * Object initialisers
 * ====================
 * ====================
 */
#define PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t) -1)
#define PTHREAD_COND_INITIALIZER ((pthread_cond_t) -1)
#define PTHREAD_RWLOCK_INITIALIZER ((pthread_rwlock_t) -1)
#define PTHREAD_SPINLOCK_INITIALIZER ((pthread_spinlock_t) -1)
/*
 * Mutex types.
 */
enum
{
  /* Compatibility with LinuxThreads */
  PTHREAD_MUTEX_FAST_NP,
  PTHREAD_MUTEX_RECURSIVE_NP,
  PTHREAD_MUTEX_ERRORCHECK_NP,
  PTHREAD_MUTEX_TIMED_NP = PTHREAD_MUTEX_FAST_NP,
  PTHREAD_MUTEX_ADAPTIVE_NP = PTHREAD_MUTEX_FAST_NP,
  /* For compatibility with POSIX */
  PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_FAST_NP,
  PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
  PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
  PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
};
/* There are three implementations of cancel cleanup.
 * Note that pthread.h is included in both application
 * compilation units and also internally for the library.
 * The code here and within the library aims to work
 * for all reasonable combinations of environments.
 *
 * The three implementations are:
 *
 *   WIN32 SEH
 *   C
 *   C++
 *
 * Please note that exiting a push/pop block via
 * "return", "exit", "break", or "continue" will
 * lead to different behaviour amongst applications
 * depending upon whether the library was built
 * using SEH, C++, or C. For example, a library built
 * with SEH will call the cleanup routine, while both
 * C++ and C built versions will not.
 */
/*
 * Define defaults for cleanup code.
 * Note: Unless the build explicitly defines one of the following, then
 * we default to standard C style cleanup. This style uses setjmp/longjmp
 * in the cancelation and thread exit implementations and therefore won't
 * do stack unwinding if linked to applications that have it (e.g.
 * C++ apps). This is currently consistent with most/all commercial Unix
 * POSIX threads implementations.
 */
#if !defined( __CLEANUP_SEH ) && !defined( __CLEANUP_CXX ) && !defined( __CLEANUP_C )
# define __CLEANUP_C
#endif
#if defined( __CLEANUP_SEH ) && defined(__GNUC__)
#error ERROR [__FILE__, line __LINE__]: GNUC does not support SEH.
#endif
typedef struct ptw32_cleanup_t ptw32_cleanup_t;
typedef void (__cdecl *ptw32_cleanup_callback_t)(void *);
struct ptw32_cleanup_t
{
  ptw32_cleanup_callback_t routine;
  void *arg;
  struct ptw32_cleanup_t *prev;
};
#ifdef __CLEANUP_SEH
	/*
	 * WIN32 SEH version of cancel cleanup.
	 */
#define pthread_cleanup_push( _rout, _arg ) \
	{ \
	    ptw32_cleanup_t	_cleanup; \
	    \
	_cleanup.routine	= (ptw32_cleanup_callback_t)(_rout); \
	    _cleanup.arg	= (_arg); \
	    __try \
	      { \
#define pthread_cleanup_pop( _execute ) \
	      } \
	    __finally \
		{ \
		    if( _execute || AbnormalTermination()) \
		      { \
			  (*(_cleanup.routine))( _cleanup.arg ); \
		      } \
		} \
	}
#else /* __CLEANUP_SEH */
#ifdef __CLEANUP_C
	/*
	 * C implementation of PThreads cancel cleanup
	 */
#define pthread_cleanup_push( _rout, _arg ) \
	{ \
	    ptw32_cleanup_t	_cleanup; \
	    \
	    ptw32_push_cleanup( &_cleanup, (ptw32_cleanup_callback_t) (_rout), (_arg) ); \
#define pthread_cleanup_pop( _execute ) \
	    (void) ptw32_pop_cleanup( _execute ); \
	}
#else /* __CLEANUP_C */
#ifdef __CLEANUP_CXX
	/*
	 * C++ version of cancel cleanup.
	 * - John E. Bossom.
	 */
	class PThreadCleanup {
	  /*
	   * PThreadCleanup
	   *
	   * Purpose
	   *	  This class is a C++ helper class that is
	   *	  used to implement pthread_cleanup_push/
	   *	  pthread_cleanup_pop.
	   *	  The destructor of this class automatically
	   *	  pops the pushed cleanup routine regardless
	   *	  of how the code exits the scope
	   *	  (i.e. such as by an exception)
	   */
      ptw32_cleanup_callback_t cleanUpRout;
	  void	  *	  obj;
	  int		  executeIt;
	public:
	  PThreadCleanup() :
	    cleanUpRout( 0 ),
	    obj( 0 ),
	    executeIt( 0 )
	    /*
	     * No cleanup performed
	     */
	    {
	    }
	  PThreadCleanup(
	     ptw32_cleanup_callback_t routine,
			 void	 *	 arg ) :
	    cleanUpRout( routine ),
	    obj( arg ),
	    executeIt( 1 )
	    /*
	     * Registers a cleanup routine for 'arg'
	     */
	    {
	    }
	  ~PThreadCleanup()
	    {
	      if ( executeIt && ((void *) cleanUpRout != (void *) 0) )
		{
		  (void) (*cleanUpRout)( obj );
		}
	    }
	  void execute( int exec )
	    {
	      executeIt = exec;
	    }
	};
	/*
	 * C++ implementation of PThreads cancel cleanup;
	 * This implementation takes advantage of a helper
	 * class who's destructor automatically calls the
	 * cleanup routine if we exit our scope weirdly
	 */
#define pthread_cleanup_push( _rout, _arg ) \
	{ \
	    PThreadCleanup  cleanup((ptw32_cleanup_callback_t)(_rout), \
				    (void *) (_arg) );
#define pthread_cleanup_pop( _execute ) \
	    cleanup.execute( _execute ); \
	}
#else
#error ERROR [__FILE__, line __LINE__]: Cleanup type undefined.
#endif /* __CLEANUP_CXX */
#endif /* __CLEANUP_C */
#endif /* __CLEANUP_SEH */
/*
 * ===============
 * ===============
 * Methods
 * ===============
 * ===============
 */
/*
 * PThread Attribute Functions
 */
PTW32_DLLPORT int pthread_attr_init (pthread_attr_t * attr);
PTW32_DLLPORT int pthread_attr_destroy (pthread_attr_t * attr);
PTW32_DLLPORT int pthread_attr_getdetachstate (const pthread_attr_t * attr,
					 int *detachstate);
PTW32_DLLPORT int pthread_attr_getstackaddr (const pthread_attr_t * attr,
				       void **stackaddr);
PTW32_DLLPORT int pthread_attr_getstacksize (const pthread_attr_t * attr,
				       size_t * stacksize);
PTW32_DLLPORT int pthread_attr_setdetachstate (pthread_attr_t * attr,
					 int detachstate);
PTW32_DLLPORT int pthread_attr_setstackaddr (pthread_attr_t * attr,
				       void *stackaddr);
PTW32_DLLPORT int pthread_attr_setstacksize (pthread_attr_t * attr,
				       size_t stacksize);
PTW32_DLLPORT int pthread_attr_getschedparam (const pthread_attr_t *attr,
					struct sched_param *param);
PTW32_DLLPORT int pthread_attr_setschedparam (pthread_attr_t *attr,
					const struct sched_param *param);
PTW32_DLLPORT int pthread_attr_setschedpolicy (pthread_attr_t *,
					 int);
PTW32_DLLPORT int pthread_attr_getschedpolicy (pthread_attr_t *,
					 int *);
PTW32_DLLPORT int pthread_attr_setinheritsched(pthread_attr_t * attr,
					 int inheritsched);
PTW32_DLLPORT int pthread_attr_getinheritsched(pthread_attr_t * attr,
					 int * inheritsched);
PTW32_DLLPORT int pthread_attr_setscope (pthread_attr_t *,
				   int);
PTW32_DLLPORT int pthread_attr_getscope (const pthread_attr_t *,
				   int *);
/*
 * PThread Functions
 */
PTW32_DLLPORT int pthread_create (pthread_t * tid,

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
aaa欧美色吧激情视频| 亚洲欧美日韩国产综合| 91传媒视频在线播放| 国产成人av资源| 国产白丝精品91爽爽久久| 国产精品1区二区.| 国产裸体歌舞团一区二区| 九九九久久久精品| 国产一区二区中文字幕| 国产成人午夜视频| 国产高清亚洲一区| www.日韩av| 欧美性猛交xxxxxx富婆| 欧美精品第1页| 日韩欧美亚洲国产另类| 2023国产一二三区日本精品2022| 精品成人一区二区三区四区| 国产日产精品1区| 亚洲男女一区二区三区| 亚洲一区二区精品视频| 日韩精品一区第一页| 美国一区二区三区在线播放| 国产成人午夜精品5599| 色综合久久久久久久久久久| 欧美日韩国产美| 欧美videos中文字幕| 麻豆国产欧美一区二区三区| 国产精品一区在线| 欧洲一区二区av| 精品国产91久久久久久久妲己 | 青娱乐精品视频在线| 国产一区二区三区日韩| av电影在线观看一区| 欧美日免费三级在线| 精品美女一区二区| 亚洲日本欧美天堂| 九色综合狠狠综合久久| 在线观看不卡一区| 久久精品夜色噜噜亚洲a∨| 亚洲精品成人精品456| 久久国产视频网| 91丨porny丨国产| 日韩色视频在线观看| 亚洲精品日日夜夜| 国产精品综合在线视频| 欧美午夜寂寞影院| 国产精品看片你懂得| 日av在线不卡| 在线中文字幕一区| 中文字幕av不卡| 精品在线免费观看| 精品视频一区 二区 三区| 欧美激情一区二区三区不卡| 美女视频黄a大片欧美| 欧美性感一类影片在线播放| 国产精品你懂的在线| 精彩视频一区二区三区| 欧美精品在欧美一区二区少妇| 中文字幕亚洲欧美在线不卡| 九色综合国产一区二区三区| 欧美美女黄视频| 亚洲影视资源网| 色哟哟一区二区三区| 中文字幕av一区 二区| 国产精品自拍一区| 精品国产一二三| 欧美日本乱大交xxxxx| 国产精品久久久久婷婷二区次| 美洲天堂一区二卡三卡四卡视频| 欧美系列日韩一区| 亚洲综合999| 色综合久久综合中文综合网| 色八戒一区二区三区| 亚洲国产日韩一区二区| 日韩成人一区二区三区在线观看| 成人午夜私人影院| 久久精品视频一区| 国产在线视频精品一区| 日韩精品一区二区三区中文精品| 天堂va蜜桃一区二区三区 | 亚洲日本一区二区三区| 成人激情免费视频| 国产精品五月天| 9色porny自拍视频一区二区| 亚洲欧洲精品一区二区三区| 99国产精品久久| 亚洲综合自拍偷拍| 这里只有精品电影| 韩国精品久久久| 成人欧美一区二区三区小说| 懂色av中文一区二区三区| 欧美一区二区三区视频免费| 91麻豆国产福利精品| 色综合色综合色综合| 国产精品视频一二三区| 99热在这里有精品免费| 亚洲夂夂婷婷色拍ww47| 欧美久久一二区| 日韩电影免费在线看| 久久综合久久综合久久| www.欧美日韩国产在线| 午夜精品视频一区| 精品国产一区二区三区四区四 | 亚洲成人综合网站| 欧美一区二区三区喷汁尤物| 国产麻豆视频一区二区| 亚洲欧美视频在线观看视频| 欧美人与禽zozo性伦| 激情文学综合网| 精品裸体舞一区二区三区| 国产一区二区调教| 欧美韩国日本一区| 欧美影视一区在线| 激情综合网最新| 亚洲麻豆国产自偷在线| 欧美一区二区在线看| 99久久精品免费精品国产| 日韩av中文字幕一区二区 | 91日韩一区二区三区| 久久精品国产久精国产| 亚洲黄一区二区三区| 亚洲第一激情av| 久久奇米777| 欧美精品久久久久久久多人混战| 国产高清精品网站| 理论电影国产精品| 一区二区三区中文字幕在线观看| 337p日本欧洲亚洲大胆精品| 在线亚洲高清视频| 成年人网站91| 久久99国产精品久久99果冻传媒| 亚洲裸体在线观看| 国产精品视频看| 久久精品一区四区| 日韩欧美www| 91精品国产综合久久久蜜臀图片 | 亚洲无人区一区| 久久精品视频免费| 精品日产卡一卡二卡麻豆| 欧美性大战xxxxx久久久| 91在线观看下载| 97se狠狠狠综合亚洲狠狠| 国产盗摄一区二区三区| 国产美女娇喘av呻吟久久| 男男成人高潮片免费网站| 日一区二区三区| 水蜜桃久久夜色精品一区的特点| 亚洲一区二区黄色| 亚洲一区二区欧美日韩| 亚洲高清三级视频| 亚洲电影视频在线| 午夜精品久久久久久久蜜桃app| 亚洲精品视频免费观看| 亚洲午夜精品在线| 亚洲成av人**亚洲成av**| 亚洲一本大道在线| 日韩av成人高清| 麻豆中文一区二区| 裸体一区二区三区| 极品少妇一区二区三区精品视频| 久久激情五月激情| 国产福利精品导航| 99精品视频中文字幕| 91免费在线播放| 欧美午夜免费电影| 日韩亚洲欧美一区二区三区| 日韩一区二区三区在线视频| 26uuu成人网一区二区三区| 久久久99精品久久| 亚洲色图一区二区三区| 亚洲综合免费观看高清在线观看| 亚洲成人午夜影院| 精品一区二区久久久| 99国产精品久久| 正在播放亚洲一区| 久久久久久久综合狠狠综合| 国产精品乱码久久久久久| 亚洲午夜久久久久久久久电影网| 欧美在线不卡视频| 69av一区二区三区| 国产日韩欧美电影| 亚洲一区二区三区四区五区中文 | 亚洲三级久久久| 日本欧美在线观看| 成人免费黄色在线| 欧美三级一区二区| 欧美激情在线一区二区三区| 亚洲免费观看高清完整版在线观看 | 免费观看久久久4p| 99精品欧美一区| 日韩免费一区二区| 1024国产精品| 精品夜夜嗨av一区二区三区| 波多野结衣在线aⅴ中文字幕不卡| 欧美又粗又大又爽| 国产欧美一区二区精品性色| 亚洲一区二区三区免费视频| 国产一区啦啦啦在线观看| 国产精品一区二区你懂的| 亚洲精品免费在线观看|