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

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

?? ptw32_reuse.c

?? pthread source code,you can compile directly
?? C
字號:
/* * ptw32_threadReuse.c * * Description: * This translation unit implements miscellaneous thread functions. * * -------------------------------------------------------------------------- * *      Pthreads-win32 - POSIX Threads Library for Win32 *      Copyright(C) 1998 John E. Bossom *      Copyright(C) 1999,2005 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 */#include "pthread.h"#include "implement.h"/* * How it works: * A pthread_t is a struct (2x32 bit scalar types on IA-32, 2x64 bit on IA-64) * which is normally passed/returned by value to/from pthreads routines. * Applications are therefore storing a copy of the struct as it is at that * time. * * The original pthread_t struct plus all copies of it contain the address of * the thread state struct ptw32_thread_t_ (p), plus a reuse counter (x). Each * ptw32_thread_t contains the original copy of it's pthread_t. * Once malloced, a ptw32_thread_t_ struct is not freed until the process exits. *  * The thread reuse stack is a simple LILO stack managed through a singly * linked list element in the ptw32_thread_t. * * Each time a thread is destroyed, the ptw32_thread_t address is pushed onto the * reuse stack after it's ptHandle's reuse counter has been incremented. *  * The following can now be said from this: * - two pthread_t's are identical if their ptw32_thread_t reference pointers * are equal and their reuse counters are equal. That is, * *   equal = (a.p == b.p && a.x == b.x) * * - a pthread_t copy refers to a destroyed thread if the reuse counter in * the copy is not equal to the reuse counter in the original. * *   threadDestroyed = (copy.x != ((ptw32_thread_t *)copy.p)->ptHandle.x) * *//* * Pop a clean pthread_t struct off the reuse stack. */pthread_tptw32_threadReusePop (void){  pthread_t t = {NULL, 0};  EnterCriticalSection (&ptw32_thread_reuse_lock);  if (PTW32_THREAD_REUSE_EMPTY != ptw32_threadReuseTop)    {      ptw32_thread_t * tp;      tp = ptw32_threadReuseTop;      ptw32_threadReuseTop = tp->prevReuse;      if (PTW32_THREAD_REUSE_EMPTY == ptw32_threadReuseTop)        {          ptw32_threadReuseBottom = PTW32_THREAD_REUSE_EMPTY;        }      tp->prevReuse = NULL;      t = tp->ptHandle;    }  LeaveCriticalSection (&ptw32_thread_reuse_lock);  return t;}/* * Push a clean pthread_t struct onto the reuse stack. * Must be re-initialised when reused. * All object elements (mutexes, events etc) must have been either * detroyed before this, or never initialised. */voidptw32_threadReusePush (pthread_t thread){  ptw32_thread_t * tp = (ptw32_thread_t *) thread.p;  pthread_t t;  EnterCriticalSection (&ptw32_thread_reuse_lock);  t = tp->ptHandle;  memset(tp, 0, sizeof(ptw32_thread_t));  /* Must restore the original POSIX handle that we just wiped. */  tp->ptHandle = t;  /* Bump the reuse counter now */#ifdef PTW32_THREAD_ID_REUSE_INCREMENT  tp->ptHandle.x += PTW32_THREAD_ID_REUSE_INCREMENT;#else  tp->ptHandle.x++;#endif  tp->prevReuse = PTW32_THREAD_REUSE_EMPTY;  if (PTW32_THREAD_REUSE_EMPTY != ptw32_threadReuseBottom)    {      ptw32_threadReuseBottom->prevReuse = tp;    }  else    {      ptw32_threadReuseTop = tp;    }  ptw32_threadReuseBottom = tp;  LeaveCriticalSection (&ptw32_thread_reuse_lock);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费精品视频最新在线| 精品视频123区在线观看| 久久99精品久久久久| 日韩电影在线观看一区| 视频在线在亚洲| 亚洲aaa精品| 奇米影视一区二区三区小说| 三级一区在线视频先锋| 日韩高清一区在线| 视频一区二区欧美| 日韩电影在线一区二区| 美女免费视频一区| 国产成人在线网站| av中文字幕在线不卡| 99久久久国产精品| 色欲综合视频天天天| 欧美日免费三级在线| 在线成人高清不卡| 精品国产免费人成在线观看| 久久久91精品国产一区二区三区| 久久免费看少妇高潮| 国产午夜亚洲精品不卡| 中文一区二区完整视频在线观看| 中文字幕日本不卡| 亚洲三级小视频| 亚洲国产精品自拍| 欧美日韩一区二区在线观看视频| 欧美喷水一区二区| 欧美v日韩v国产v| 国产欧美日韩不卡| 亚洲男女一区二区三区| 日韩国产一区二| 国产一区二区看久久| 99久久久久免费精品国产| 欧美在线观看一区二区| 日韩欧美一区二区免费| 国产亚洲一区二区三区四区 | 国产午夜精品美女毛片视频| 国产精品国产自产拍高清av王其| 亚洲一区二区综合| 国内精品免费**视频| 色乱码一区二区三区88| 欧美一区二区三区免费视频| 中文av字幕一区| 天堂va蜜桃一区二区三区漫画版| 国产精品正在播放| 欧美亚洲禁片免费| 精品国产一区二区三区久久影院 | 国产精品美女视频| 婷婷夜色潮精品综合在线| 国模娜娜一区二区三区| 欧美这里有精品| 久久精品视频一区二区三区| 亚洲国产精品久久人人爱蜜臀| 国内久久精品视频| 欧美色男人天堂| 国产精品美女久久久久久久久| 天堂成人免费av电影一区| a美女胸又www黄视频久久| 日韩免费看网站| 一区二区三区鲁丝不卡| 国产成人免费av在线| 日韩午夜激情免费电影| 亚洲影院理伦片| 丁香一区二区三区| 精品国产91乱码一区二区三区 | 亚洲激情在线激情| 国产毛片精品视频| 91精品麻豆日日躁夜夜躁| 亚洲人成在线观看一区二区| 国产精品一区在线观看你懂的| 欧美日韩视频第一区| 亚洲欧洲av另类| 韩国一区二区三区| 一区二区三区中文在线| 成人性色生活片免费看爆迷你毛片| 欧美一级片在线观看| 亚洲一级二级在线| 99热这里都是精品| 中文字幕精品—区二区四季| 久久疯狂做爰流白浆xx| 欧美日韩国产美女| 亚洲第一狼人社区| 91成人在线免费观看| 亚洲欧洲av色图| 不卡一卡二卡三乱码免费网站| 精品国产91洋老外米糕| 美脚の诱脚舐め脚责91 | 亚洲精品午夜久久久| 大陆成人av片| 国产三级欧美三级日产三级99| 精品在线亚洲视频| 欧美一区二区三区电影| 亚洲第一搞黄网站| 欧美亚洲动漫制服丝袜| 亚洲精品免费播放| 色妹子一区二区| 亚洲码国产岛国毛片在线| 播五月开心婷婷综合| 国产精品美日韩| 国产成a人亚洲| 国产精品久久久久久久久搜平片| 国产成人免费视频精品含羞草妖精| 久久亚洲精精品中文字幕早川悠里 | 国产婷婷一区二区| 国产精品亚洲一区二区三区妖精 | 久久伊人中文字幕| 国产麻豆一精品一av一免费 | 国内精品嫩模私拍在线| 亚洲精品一区二区三区福利| 国产麻豆欧美日韩一区| 国产午夜精品美女毛片视频| 国产成人av电影在线播放| 国产日韩精品一区| 99r精品视频| 一区二区三区日韩欧美精品| 欧美日韩国产不卡| 日本亚洲电影天堂| 精品国产乱码91久久久久久网站| 国产精品一二二区| 最新中文字幕一区二区三区| 91国产成人在线| 午夜一区二区三区视频| 日韩欧美一区在线| 国产成人免费网站| 亚洲久草在线视频| 在线播放欧美女士性生活| 久久91精品国产91久久小草| 国产亚洲一二三区| 国产人伦精品一区二区| 成人久久18免费网站麻豆| 一区二区三区在线影院| 777午夜精品视频在线播放| 国内精品国产成人国产三级粉色 | 亚洲男人的天堂在线观看| 色女孩综合影院| 久久99精品国产麻豆不卡| 国产亚洲综合av| 日本伦理一区二区| 老司机午夜精品| 成人欧美一区二区三区白人 | 久久日韩粉嫩一区二区三区| 波多野结衣精品在线| 亚洲国产精品影院| 久久久.com| 欧美日韩三级视频| 国产精品一区二区久久精品爱涩 | 国产成人免费视频网站高清观看视频| 国产精品麻豆一区二区| 欧美日韩欧美一区二区| 国产精品18久久久久| 亚洲精品v日韩精品| 精品欧美一区二区久久| 91网站视频在线观看| 欧美aⅴ一区二区三区视频| 日本一区二区电影| 欧美美女视频在线观看| 国产.欧美.日韩| 日本欧美一区二区三区乱码| 国产欧美日韩不卡| 欧美一区二区日韩| 91免费观看在线| 韩国精品一区二区| 亚洲综合一区二区三区| 久久中文娱乐网| 欧美精品99久久久**| 成人av资源站| 久久99久久99小草精品免视看| 亚洲美女淫视频| 国产色产综合产在线视频| 91精品国产乱| 欧美色精品在线视频| jlzzjlzz亚洲女人18| 日本成人在线电影网| 亚洲视频一区在线| 国产欧美日韩不卡| 久久亚洲一级片| 日韩一区二区三区视频| 欧美视频完全免费看| 99在线精品免费| 国产成人精品免费| 久久福利视频一区二区| 日韩影院免费视频| 亚洲图片欧美一区| 自拍偷拍亚洲欧美日韩| 国产欧美一区二区精品性色超碰| 日韩一区二区三区免费看| 欧美日韩午夜在线| 日韩伦理免费电影| 国产欧美日韩另类一区| 久久综合九色综合97婷婷女人| 91精选在线观看| 欧美日韩免费一区二区三区| 色狠狠桃花综合| 91精品1区2区| 91免费看`日韩一区二区| 成人av在线一区二区三区| 国产乱码精品一区二区三区忘忧草 | 26uuu精品一区二区| 欧美电影免费观看高清完整版在线 |