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

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

?? pthread_mutex_timedlock.c

?? pthread source code,you can compile directly
?? C
字號:
/* * pthread_mutex_timedlock.c * * Description: * This translation unit implements mutual exclusion (mutex) primitives. * * -------------------------------------------------------------------------- * *      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"static INLINE intptw32_timed_eventwait (HANDLE event, const struct timespec *abstime)     /*      * ------------------------------------------------------      * DESCRIPTION      *      This function waits on an event until signaled or until      *      abstime passes.      *      If abstime has passed when this routine is called then      *      it returns a result to indicate this.      *      *      If 'abstime' is a NULL pointer then this function will      *      block until it can successfully decrease the value or      *      until interrupted by a signal.      *      *      This routine is not a cancelation point.      *      * RESULTS      *              0               successfully signaled,      *              ETIMEDOUT       abstime passed      *              EINVAL          'event' is not a valid event,      *      * ------------------------------------------------------      */{  DWORD milliseconds;  DWORD status;  if (event == NULL)    {      return EINVAL;    }  else    {      if (abstime == NULL)	{	  milliseconds = INFINITE;	}      else	{	  /* 	   * Calculate timeout as milliseconds from current system time. 	   */	  milliseconds = ptw32_relmillisecs (abstime);	}      status = WaitForSingleObject (event, milliseconds);      if (status == WAIT_OBJECT_0)	{	  return 0;	}      else if (status == WAIT_TIMEOUT)	{	  return ETIMEDOUT;	}      else	{	  return EINVAL;	}    }  return 0;}				/* ptw32_timed_semwait */intpthread_mutex_timedlock (pthread_mutex_t * mutex,			 const struct timespec *abstime){  int result;  pthread_mutex_t mx;  /*   * Let the system deal with invalid pointers.   */  /*   * We do a quick check to see if we need to do more work   * to initialise a static mutex. We check   * again inside the guarded section of ptw32_mutex_check_need_init()   * to avoid race conditions.   */  if (*mutex >= PTHREAD_ERRORCHECK_MUTEX_INITIALIZER)    {      if ((result = ptw32_mutex_check_need_init (mutex)) != 0)	{	  return (result);	}    }  mx = *mutex;  if (mx->kind == PTHREAD_MUTEX_NORMAL)    {      if ((LONG) PTW32_INTERLOCKED_EXCHANGE(		   (LPLONG) &mx->lock_idx,		   (LONG) 1) != 0)	{          while ((LONG) PTW32_INTERLOCKED_EXCHANGE(                          (LPLONG) &mx->lock_idx,			  (LONG) -1) != 0)            {	      if (0 != (result = ptw32_timed_eventwait (mx->event, abstime)))		{		  return result;		}	    }	}    }  else    {      pthread_t self = pthread_self();      if ((PTW32_INTERLOCKED_LONG) PTW32_INTERLOCKED_COMPARE_EXCHANGE(                   (PTW32_INTERLOCKED_LPLONG) &mx->lock_idx,		   (PTW32_INTERLOCKED_LONG) 1,		   (PTW32_INTERLOCKED_LONG) 0) == 0)	{	  mx->recursive_count = 1;	  mx->ownerThread = self;	}      else	{	  if (pthread_equal (mx->ownerThread, self))	    {	      if (mx->kind == PTHREAD_MUTEX_RECURSIVE)		{		  mx->recursive_count++;		}	      else		{		  return EDEADLK;		}	    }	  else	    {              while ((LONG) PTW32_INTERLOCKED_EXCHANGE(                              (LPLONG) &mx->lock_idx,			      (LONG) -1) != 0)                {		  if (0 != (result = ptw32_timed_eventwait (mx->event, abstime)))		    {		      return result;		    }		}	      mx->recursive_count = 1;	      mx->ownerThread = self;	    }	}    }  return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂蜜桃91精品| 日本精品裸体写真集在线观看| www.在线欧美| 日韩三级在线免费观看| 日韩免费观看高清完整版| 国产精品亚洲午夜一区二区三区| 精品久久久三级丝袜| 黑人巨大精品欧美黑白配亚洲| 亚洲综合视频在线观看| 日本一二三四高清不卡| 亚洲欧美一区二区视频| 日韩成人精品在线| 韩国精品免费视频| 国产盗摄一区二区三区| 色综合视频一区二区三区高清| 99久久伊人精品| 欧美国产欧美综合| kk眼镜猥琐国模调教系列一区二区 | 欧美高清精品3d| 麻豆国产一区二区| 国产蜜臀av在线一区二区三区| 91麻豆免费看| 免费视频一区二区| 中文av一区特黄| 欧美乱妇一区二区三区不卡视频| 久久精品av麻豆的观看方式| 国产精品久久久久久久久久久免费看| 色久综合一二码| 久久精品99久久久| 亚洲激情六月丁香| 欧美一级视频精品观看| av亚洲产国偷v产偷v自拍| 性欧美疯狂xxxxbbbb| 久久精品一区四区| 正在播放亚洲一区| 成人免费视频视频在线观看免费| 欧美主播一区二区三区美女| 亚洲一区二区在线播放相泽| 久久亚洲一级片| 欧美日韩中文另类| 懂色中文一区二区在线播放| 日本欧美加勒比视频| 国产精品短视频| 精品va天堂亚洲国产| 欧美少妇xxx| 99国产麻豆精品| 精品综合久久久久久8888| 亚洲美女免费在线| 欧美激情一区三区| 久久亚洲二区三区| 51精品国自产在线| 欧美调教femdomvk| 99久久精品99国产精品| 国产乱码精品1区2区3区| 亚洲成人高清在线| 亚洲精品国产一区二区精华液 | 精品国产麻豆免费人成网站| 91精品办公室少妇高潮对白| 成人精品小蝌蚪| 丁香婷婷综合色啪| 国产麻豆精品95视频| 久久成人麻豆午夜电影| 喷水一区二区三区| 午夜欧美2019年伦理| 亚洲线精品一区二区三区| 亚洲精品乱码久久久久| 亚洲精品亚洲人成人网在线播放| 国产精品嫩草影院av蜜臀| 久久久久久久综合日本| 精品国产髙清在线看国产毛片| 3751色影院一区二区三区| 欧美日韩亚洲综合一区二区三区| 色8久久精品久久久久久蜜| 色婷婷综合久久久中文一区二区| www.亚洲色图| 91美女在线观看| 91论坛在线播放| 在线视频综合导航| 欧美日韩亚洲综合一区二区三区| 欧美巨大另类极品videosbest| 欧美三级乱人伦电影| 欧美色网一区二区| 91精品在线麻豆| 日韩亚洲欧美高清| 久久尤物电影视频在线观看| 国产日韩欧美精品一区| 国产精品久久夜| 亚洲一区中文日韩| 日本美女一区二区三区| 激情综合亚洲精品| 成人网在线播放| 欧洲一区二区av| 欧美一区二区三区日韩视频| 欧美大片在线观看一区二区| 久久精品亚洲麻豆av一区二区| 中文字幕免费不卡| 亚洲在线中文字幕| 麻豆一区二区在线| 风间由美一区二区三区在线观看| 99久久伊人精品| 欧美精品色一区二区三区| 日韩欧美中文字幕一区| 国产丝袜美腿一区二区三区| 椎名由奈av一区二区三区| 亚欧色一区w666天堂| 国产精品综合在线视频| 91九色最新地址| 久久综合给合久久狠狠狠97色69| 中国av一区二区三区| 亚洲国产视频网站| 国产麻豆91精品| 欧美羞羞免费网站| 久久先锋影音av| 一区二区高清免费观看影视大全| 日本三级亚洲精品| 成人av网站在线| 欧美一区二区三区人| 中文字幕一区不卡| 看片的网站亚洲| 日本丶国产丶欧美色综合| 欧美大片在线观看一区| 亚洲精品写真福利| 国产一区二区三区蝌蚪| 色欧美乱欧美15图片| 精品国产乱子伦一区| 亚洲福利视频一区二区| 成人精品一区二区三区中文字幕| 欧美一区二区播放| 亚洲麻豆国产自偷在线| 国产精品一区二区三区网站| 在线播放亚洲一区| 中文字幕一区二区三区在线不卡 | 欧美久久一区二区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 亚洲成人第一页| 国产成人在线看| 777奇米四色成人影色区| 日韩毛片精品高清免费| 国产成人小视频| 精品免费一区二区三区| 亚洲3atv精品一区二区三区| 91色婷婷久久久久合中文| 大胆欧美人体老妇| 青草av.久久免费一区| 99视频精品全部免费在线| 欧美电影免费观看高清完整版在线观看 | 久久亚洲一区二区三区四区| 天天免费综合色| 在线这里只有精品| 亚洲天堂2016| 成人app软件下载大全免费| 日韩你懂的在线观看| 肉色丝袜一区二区| 欧美探花视频资源| 亚洲主播在线观看| 欧美影院一区二区三区| 亚洲色图制服诱惑| 成人h版在线观看| 日韩电影网1区2区| 99综合影院在线| 日韩欧美色综合| 亚洲成人免费观看| 色94色欧美sute亚洲线路一久| 欧美国产欧美综合| 国产成人免费av在线| 国产午夜精品一区二区三区四区| 麻豆精品精品国产自在97香蕉| 91精品国产91久久综合桃花| 同产精品九九九| 777久久久精品| 蜜桃视频第一区免费观看| 日韩一区二区三| 在线精品视频小说1| 亚洲天堂2016| 欧美图片一区二区三区| 亚洲va国产va欧美va观看| 欧美日韩国产中文| 免费人成网站在线观看欧美高清| 4438x亚洲最大成人网| 亚洲精选免费视频| 在线日韩av片| 天堂成人免费av电影一区| 欧美电影在线免费观看| 免费的国产精品| 久久久不卡网国产精品二区| 国产成人综合亚洲网站| 国产精品网站一区| 一本到三区不卡视频| 亚洲国产日韩精品| 精品成人a区在线观看| k8久久久一区二区三区| 亚洲精品一二三四区| 日韩一级二级三级| 国产iv一区二区三区| 一区二区三区美女视频| 欧美一区二区女人| 播五月开心婷婷综合| 亚洲成人在线观看视频| 久久婷婷色综合| 色噜噜狠狠色综合中国|