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

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

?? pthread.h

?? 著名的入侵檢測系統snort的最新版本的源碼
?? H
?? 第 1 頁 / 共 3 頁
字號:
/* This is an implementation of the threads API of POSIX 1003.1-2001.
 *
 * --------------------------------------------------------------------------
 *
 *      Pthreads-win32 - POSIX Threads Library for Win32
 *      Copyright(C) 1998 John E. Bossom
 *      Copyright(C) 1999,2003 Pthreads-win32 contributors
 * 
 *      Contact Email: rpj@callisto.canberra.edu.au
 * 
 *      The current list of contributors is contained
 *      in the file CONTRIBUTORS included with the source
 *      code distribution. The list can also be seen at the
 *      following World Wide Web location:
 *      http://sources.redhat.com/pthreads-win32/contributors.html
 * 
 *      This 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 of the License, or (at your option) any later version.
 * 
 *      This 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 this library in the file COPYING.LIB;
 *      if not, write to the Free Software Foundation, Inc.,
 *      59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 */

#if !defined( PTHREAD_H )
#define PTHREAD_H

#undef PTW32_LEVEL

#if defined(_POSIX_SOURCE)
#define PTW32_LEVEL 0
/* Early POSIX */
#endif

#if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 199309
#undef PTW32_LEVEL
#define PTW32_LEVEL 1
/* Include 1b, 1c and 1d */
#endif

#if defined(INCLUDE_NP)
#undef PTW32_LEVEL
#define PTW32_LEVEL 2
/* Include Non-Portable extensions */
#endif

#define PTW32_LEVEL_MAX 3

#if !defined(PTW32_LEVEL)
#define PTW32_LEVEL PTW32_LEVEL_MAX
/* Include everything */
#endif

#ifdef _UWIN
#   define HAVE_STRUCT_TIMESPEC 1
#   define HAVE_SIGNAL_H	1
#   undef HAVE_CONFIG_H
#   pragma comment(lib, "pthread")
#endif

/*
 * -------------------------------------------------------------
 *
 *
 * Module: pthread.h
 *
 * Purpose:
 *	Provides an implementation of PThreads based upon the
 *	standard:
 *
 *		POSIX 1003.1-2001
 *  and
 *    The Single Unix Specification version 3
 *
 *    (these two are equivalent)
 *
 *	in order to enhance code portability between Windows,
 *  various commercial Unix implementations, and Linux.
 *
 *	See the ANNOUNCE file for a full list of conforming
 *	routines and defined constants, and a list of missing
 *	routines and constants not defined in this implementation.
 *
 * Authors:
 *	There have been many contributors to this library.
 *	The initial implementation was contributed by
 *	John Bossom, and several others have provided major
 *	sections or revisions of parts of the implementation.
 *	Often significant effort has been contributed to
 *	find and fix important bugs and other problems to
 *	improve the reliability of the library, which sometimes
 *	is not reflected in the amount of code which changed as
 *	result.
 *	As much as possible, the contributors are acknowledged
 *	in the ChangeLog file in the source code distribution
 *	where their changes are noted in detail.
 *
 *	Contributors are listed in the CONTRIBUTORS file.
 *
 *	As usual, all bouquets go to the contributors, and all
 *	brickbats go to the project maintainer.
 *
 * Maintainer:
 *	The code base for this project is coordinated and
 *	eventually pre-tested, packaged, and made available by
 *
 *		Ross Johnson <rpj@ise.canberra.edu.au>
 *
 * QA Testers:
 *	Ultimately, the library is tested in the real world by
 *	a host of competent and demanding scientists and
 *	engineers who report bugs and/or provide solutions
 *	which are then fixed or incorporated into subsequent
 *	versions of the library. Each time a bug is fixed, a
 *	test case is written to prove the fix and ensure
 *	that later changes to the code don't reintroduce the
 *	same error. The number of test cases is slowly growing
 *	and therefore so is the code reliability.
 *
 * Compliance:
 *	See the file ANNOUNCE for the list of implemented
 *	and not-implemented routines and defined options.
 *	Of course, these are all defined is this file as well.
 *
 * Web site:
 *	The source code and other information about this library
 *	are available from
 *
 *		http://sources.redhat.com/pthreads-win32/
 *
 * -------------------------------------------------------------
 */

/* Try to avoid including windows.h */
#if defined(__MINGW32__) && defined(__cplusplus)
/*
 * FIXME: The pthreadGCE.dll build gets linker unresolved errors
 * on pthread_key_create() unless windows.h is included here.
 * It appears to have something to do with an argument type mismatch.
 * Looking at tsd.o with 'nm' shows this line:
 * 00000000 T _pthread_key_create__FPP14pthread_key_t_PFPv_v
 * instead of
 * 00000000 T _pthread_key_create
 */
#define PTW32_INCLUDE_WINDOWS_H
#endif

#ifdef PTW32_INCLUDE_WINDOWS_H
#include <windows.h>
#endif

/*
 * -----------------
 * autoconf switches
 * -----------------
 */

#if HAVE_CONFIG_H
#include "config.h"
#endif /* HAVE_CONFIG_H */

#if PTW32_LEVEL >= PTW32_LEVEL_MAX

/* Try to avoid including windows.h */
#if defined(__MINGW32__) && defined(__cplusplus)
/*
 * FIXME: The pthreadGCE.dll build gets linker unresolved errors
 * on pthread_key_create() unless windows.h is included here.
 * It appears to have something to do with an argument type mismatch.
 * Looking at tsd.o with 'nm' shows this line:
 * 00000000 T _pthread_key_create__FPP14pthread_key_t_PFPv_v
 * instead of
 * 00000000 T _pthread_key_create
 */
#define PTW32_INCLUDE_WINDOWS_H
#endif

#ifdef PTW32_INCLUDE_WINDOWS_H
#include <windows.h>
#endif

#ifndef NEED_FTIME
#include <time.h>
#else /* NEED_FTIME */
/* use native WIN32 time API */
#endif /* NEED_FTIME */

#if HAVE_SIGNAL_H
#include <signal.h>
#endif /* HAVE_SIGNAL_H */

#include <setjmp.h>
#include <limits.h>

/*
 * Boolean values to make us independent of system includes.
 */
enum {
  PTW32_FALSE = 0,
  PTW32_TRUE = (! PTW32_FALSE)
};

/*
 * This is a duplicate of what is in the autoconf config.h,
 * which is only used when building the pthread-win32 libraries.
 */

#ifndef PTW32_CONFIG_H
#  if defined(WINCE)
#    define NEED_ERRNO
#    define NEED_SEM
#  endif
#  if defined(_UWIN) || defined(__MINGW32__)
#    define HAVE_MODE_T
#  endif
#endif

/*
 *
 */

#if PTW32_LEVEL >= PTW32_LEVEL_MAX
#ifdef NEED_ERRNO
#include "need_errno.h"
#else
#include <errno.h>
#endif
#endif /* PTW32_LEVEL >= PTW32_LEVEL_MAX */

/*
 * Several systems don't define ENOTSUP. If not, we use
 * the same value as Solaris.
 */
#ifndef ENOTSUP
#  define ENOTSUP 48
#endif

#ifndef ETIMEDOUT
#  define ETIMEDOUT 10060     /* This is the value in winsock.h. */
#endif

#include <sched.h>

/*
 * To avoid including windows.h we define only those things that we
 * actually need from it. I don't like the potential incompatibility that
 * this creates with future versions of windows.
 */
#ifndef PTW32_INCLUDE_WINDOWS_H
#ifndef HANDLE
# define PTW32__HANDLE_DEF
# define HANDLE void *
#endif
#ifndef DWORD
# define PTW32__DWORD_DEF
# define DWORD unsigned long
#endif
#endif

#endif /* PTW32_LEVEL >= PTW32_LEVEL_MAX */

#ifndef HAVE_STRUCT_TIMESPEC
struct timespec {
	long tv_sec;
	long tv_nsec;
};
#endif /* HAVE_STRUCT_TIMESPEC */

#ifndef SIG_BLOCK
#define SIG_BLOCK 0
#endif /* SIG_BLOCK */

#ifndef SIG_UNBLOCK 
#define SIG_UNBLOCK 1
#endif /* SIG_UNBLOCK */

#ifndef SIG_SETMASK
#define SIG_SETMASK 2
#endif /* SIG_SETMASK */

#ifdef __cplusplus
extern "C"
{
#endif				/* __cplusplus */

/*
 * -------------------------------------------------------------
 *
 * POSIX 1003.1-2001 Options
 * =========================
 *
 * _POSIX_THREADS (set)
 *			If set, you can use threads
 *
 * _POSIX_THREAD_ATTR_STACKSIZE (set)
 *			If set, you can control the size of a thread's
 *			stack
 *				pthread_attr_getstacksize
 *				pthread_attr_setstacksize
 *
 * _POSIX_THREAD_ATTR_STACKADDR (not set)
 *			If set, you can allocate and control a thread's
 *			stack. If not supported, the following functions
 *			will return ENOSYS, indicating they are not
 *			supported:
 *				pthread_attr_getstackaddr
 *				pthread_attr_setstackaddr
 *
 * _POSIX_THREAD_PRIORITY_SCHEDULING (set)
 *			If set, you can use realtime scheduling.
 *			Indicates the availability of:
 *				pthread_attr_getinheritsched
 *				pthread_attr_getschedparam
 *				pthread_attr_getschedpolicy
 *				pthread_attr_getscope
 *				pthread_attr_setinheritsched
 *				pthread_attr_setschedparam
 *				pthread_attr_setschedpolicy
 *				pthread_attr_setscope
 *				pthread_getschedparam
 *				pthread_setschedparam
 *				sched_get_priority_max
 *				sched_get_priority_min
 *				sched_rr_set_interval
 *
 * _POSIX_THREAD_PRIO_INHERIT (not set)
 *			If set, you can create priority inheritance
 *			mutexes.
 *				pthread_mutexattr_getprotocol +
 *				pthread_mutexattr_setprotocol +
 *
 * _POSIX_THREAD_PRIO_PROTECT (not set)
 *			If set, you can create priority ceiling mutexes
 *			Indicates the availability of:
 *				pthread_mutex_getprioceiling
 *				pthread_mutex_setprioceiling
 *				pthread_mutexattr_getprioceiling
 *				pthread_mutexattr_getprotocol	  +
 *				pthread_mutexattr_setprioceiling
 *				pthread_mutexattr_setprotocol	  +
 *
 * _POSIX_THREAD_PROCESS_SHARED (not set)
 *			If set, you can create mutexes and condition
 *			variables that can be shared with another
 *			process.If set, indicates the availability
 *			of:
 *				pthread_mutexattr_getpshared
 *				pthread_mutexattr_setpshared
 *				pthread_condattr_getpshared
 *				pthread_condattr_setpshared
 *
 * _POSIX_THREAD_SAFE_FUNCTIONS (set)
 *			If set you can use the special *_r library
 *			functions that provide thread-safe behaviour
 *
 * _POSIX_READER_WRITER_LOCKS (set)
 *			If set, you can use read/write locks
 *
 * _POSIX_SPIN_LOCKS (set)
 *			If set, you can use spin locks
 *
 * _POSIX_BARRIERS (set)
 *			If set, you can use barriers
 *
 *	+ These functions provide both 'inherit' and/or
 *	  'protect' protocol, based upon these macro
 *	  settings.
 *
 * POSIX 1003.1-2001 Limits
 * ===========================
 *
 * PTHREAD_DESTRUCTOR_ITERATIONS
 *			Maximum number of attempts to destroy
 *			a thread's thread-specific data on
 *			termination (must be at least 4)
 *
 * PTHREAD_KEYS_MAX
 *			Maximum number of thread-specific data keys
 *			available per process (must be at least 128)
 *
 * PTHREAD_STACK_MIN
 *			Minimum supported stack size for a thread
 *
 * PTHREAD_THREADS_MAX
 *			Maximum number of threads supported per
 *			process (must be at least 64).
 *
 * _POSIX_SEM_NSEMS_MAX
 *	The maximum number of semaphores a process can have.
 *	(only defined if not already defined)
 *
 * _POSIX_SEM_VALUE_MAX
 *	The maximum value a semaphore can have.
 *	(only defined if not already defined)
 *
 * -------------------------------------------------------------
 */

/*
 * POSIX Options
 */
#ifndef _POSIX_THREADS
#define _POSIX_THREADS
#endif

#ifndef _POSIX_READER_WRITER_LOCKS
#define _POSIX_READER_WRITER_LOCKS
#endif

#ifndef _POSIX_SPIN_LOCKS
#define _POSIX_SPIN_LOCKS
#endif

#ifndef _POSIX_BARRIERS
#define _POSIX_BARRIERS
#endif

#define _POSIX_THREAD_SAFE_FUNCTIONS
#define _POSIX_THREAD_ATTR_STACKSIZE
#define _POSIX_THREAD_PRIORITY_SCHEDULING

#if defined( KLUDGE )
/*
 * The following are not supported
 */
#define _POSIX_THREAD_ATTR_STACKADDR

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看日韩国产| 国产精品二三区| 国产亚洲精品资源在线26u| √…a在线天堂一区| 日本欧美肥老太交大片| 91在线高清观看| 亚洲精品在线一区二区| 亚洲va欧美va国产va天堂影院| 国产精选一区二区三区| 欧美日韩国产精品成人| 中文字幕一区二区在线播放| 另类小说图片综合网| 欧美三级电影网| 亚洲色图制服诱惑| 国产不卡在线视频| 精品国产免费人成电影在线观看四季 | 亚洲大片免费看| 91蜜桃网址入口| 国产精品每日更新在线播放网址 | 一区二区三区久久久| 成人免费视频app| 精品久久久久久亚洲综合网| 亚洲h在线观看| 欧美日韩在线不卡| 亚洲一区二区三区免费视频| 99精品视频在线观看| 国产精品美女久久福利网站| 国产成人精品免费| 国产欧美一区二区精品仙草咪| 另类小说图片综合网| 日韩精品一区二区在线观看| 日本免费新一区视频| 91精品国产综合久久香蕉麻豆 | 欧美日韩综合不卡| 一区二区三区欧美在线观看| 色网站国产精品| 亚洲欧美日韩在线| 91老师片黄在线观看| 亚洲综合男人的天堂| 欧美午夜精品理论片a级按摩| 亚洲一区二区三区中文字幕| 精品视频在线免费看| 午夜精品久久久久久久99水蜜桃| 欧美乱熟臀69xxxxxx| 日韩电影在线观看一区| 欧美成人aa大片| 国产麻豆视频一区二区| 国产欧美一区二区精品忘忧草| 99久久99久久久精品齐齐| 一区二区三区中文字幕| 7777女厕盗摄久久久| 久久精品国产999大香线蕉| 久久久久九九视频| 99热精品国产| 亚洲成人一区在线| 亚洲精品一区二区精华| av成人动漫在线观看| 亚洲成人先锋电影| 国产校园另类小说区| 一本色道久久综合亚洲精品按摩| 一区二区三区91| 欧美不卡一区二区| 91在线国产观看| 日本欧美一区二区三区| 国产精品久久久久三级| 欧美精品久久一区二区三区 | 无码av免费一区二区三区试看| 日韩欧美国产精品一区| 99re视频精品| 另类欧美日韩国产在线| 亚洲欧美日韩在线| 精品国产污网站| 色综合激情五月| 黄网站免费久久| 亚洲一区二区偷拍精品| 久久色在线视频| 欧美亚洲精品一区| 国产高清精品网站| 青娱乐精品视频在线| 亚洲三级免费电影| 久久久久久久久99精品| 欧美日韩午夜在线视频| 成人的网站免费观看| 免费xxxx性欧美18vr| 成人欧美一区二区三区小说 | 久久精品国产一区二区三区免费看| 国产精品久线在线观看| 欧美成人激情免费网| 91黄视频在线观看| 成人高清视频在线| 国产在线视视频有精品| 午夜影院在线观看欧美| 亚洲人成伊人成综合网小说| 久久久久久久电影| 精品国产一区a| 在线不卡中文字幕播放| 色偷偷一区二区三区| 成人动漫一区二区三区| 国产资源精品在线观看| 热久久久久久久| 亚洲国产cao| 亚洲日本青草视频在线怡红院| 欧美韩国日本不卡| 国产亚洲一本大道中文在线| 日韩精品中文字幕一区二区三区 | 久久精品视频在线看| 2024国产精品视频| 欧美电视剧免费观看| 在线播放视频一区| 9191精品国产综合久久久久久| 欧美无砖专区一中文字| 一本到不卡精品视频在线观看 | 亚洲激情自拍视频| 亚洲男女一区二区三区| 一区二区三区精品久久久| 亚洲欧美怡红院| 久久国产精品99久久久久久老狼| 亚洲电影在线免费观看| 亚洲成年人影院| 日韩有码一区二区三区| 午夜视频久久久久久| 青青草精品视频| 狠狠色综合日日| 国产激情视频一区二区三区欧美| 国产v日产∨综合v精品视频| 风流少妇一区二区| av不卡一区二区三区| 欧美制服丝袜第一页| 欧美日韩高清在线| 精品日韩在线观看| 欧美激情综合五月色丁香小说| 国产精品灌醉下药二区| 一区二区三区免费在线观看| 视频在线观看91| 国产麻豆成人精品| 91亚洲精品乱码久久久久久蜜桃| 欧美性感一区二区三区| 日韩欧美久久一区| 久久蜜臀精品av| 亚洲男人电影天堂| 免费成人美女在线观看| 成人性生交大合| 欧美日本高清视频在线观看| 精品剧情在线观看| 亚洲欧美另类小说视频| 日韩国产欧美在线观看| 国产成人亚洲精品狼色在线| 色婷婷激情久久| 精品国产乱码久久久久久浪潮| 国产精品电影一区二区三区| 亚洲国产sm捆绑调教视频 | 美女久久久精品| 高清不卡在线观看| 欧美日韩在线精品一区二区三区激情| 日韩一区二区三免费高清| 国产精品五月天| 日本在线不卡视频一二三区| va亚洲va日韩不卡在线观看| 91精品国产综合久久精品app| 国产日韩精品久久久| 亚洲综合激情另类小说区| 国产麻豆成人精品| 欧美日韩国产小视频| 国产精品国产三级国产三级人妇| 日韩av一区二区三区| 91在线观看免费视频| 国产视频一区不卡| 免费的成人av| 欧美三级韩国三级日本三斤| 国产精品亲子伦对白| 久久69国产一区二区蜜臀| 欧亚一区二区三区| 国产精品进线69影院| 久久精品国产成人一区二区三区 | 91尤物视频在线观看| 欧美精品一区二区久久久| 视频一区视频二区在线观看| av不卡免费电影| 国产色一区二区| 久久99精品国产91久久来源| 91精品免费在线观看| 亚洲老司机在线| a在线播放不卡| 国产亚洲美州欧州综合国| 韩国精品主播一区二区在线观看| 欧美老人xxxx18| 香蕉乱码成人久久天堂爱免费| 欧洲精品在线观看| 亚洲天天做日日做天天谢日日欢| 国产aⅴ综合色| 久久这里只有精品6| 精品一区二区三区av| 精品久久久三级丝袜| 久久er精品视频| 精品国产人成亚洲区| 久久精品国产秦先生| 久久综合99re88久久爱| 精品无码三级在线观看视频| 精品国产一区久久| 国产丶欧美丶日本不卡视频|