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

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

?? thr-decosf1.c

?? GCC編譯器源代碼
?? C
字號(hào):
/* GNU Objective C Runtime Thread Interface   Copyright (C) 1996, 1997 Free Software Foundation, Inc.   Contributed by Galen C. Hunt (gchunt@cs.rochester.edu)This file is part of GNU CC.GNU CC is free software; you can redistribute it and/or modify it under theterms of the GNU General Public License as published by the Free SoftwareFoundation; either version 2, or (at your option) any later version.GNU CC is distributed in the hope that it will be useful, but WITHOUT ANYWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESSFOR A PARTICULAR PURPOSE.  See the GNU General Public License for moredetails.You should have received a copy of the GNU General Public License along withGNU CC; see the file COPYING.  If not, write to the Free SoftwareFoundation, 59 Temple Place - Suite 330,Boston, MA 02111-1307, USA.  *//* As a special exception, if you link this library with files compiled with   GCC to produce an executable, this does not cause the resulting executable   to be covered by the GNU General Public License. This exception does not   however invalidate any other reasons why the executable file might be   covered by the GNU General Public License.  */#include <pthread.h>#include <objc/thr.h>#include "runtime.h"/* Key structure for maintaining thread specific storage */static pthread_key_t _objc_thread_storage;/* Backend initialization functions *//* Initialize the threads subsystem. */int__objc_init_thread_system(void){  /* Initialize the thread storage key */  return pthread_keycreate(&_objc_thread_storage, NULL);}/* Close the threads subsystem. */int__objc_close_thread_system(void){  /* Destroy the thread storage key */  /* Not implemented yet */  /* return pthread_key_delete(&_objc_thread_storage); */  return 0;}/* Backend thread functions *//* Create a new thread of execution. */objc_thread_t__objc_thread_detach(void (*func)(void *arg), void *arg){  objc_thread_t thread_id;  pthread_t new_thread_handle;  if (pthread_create(&new_thread_handle, pthread_attr_default,		     (void *)func, arg) == 0)    {      /* ??? May not work! (64bit) */      thread_id = *(objc_thread_t *)&new_thread_handle;       pthread_detach(&new_thread_handle);     /* Fully detach thread.     */    }  else    thread_id = NULL;    return thread_id;}/* Set the current thread's priority. */int__objc_thread_set_priority(int priority){  int sys_priority = 0;  switch (priority)    {    case OBJC_THREAD_INTERACTIVE_PRIORITY:      sys_priority = (PRI_FG_MIN_NP + PRI_FG_MAX_NP) / 2;      break;    default:    case OBJC_THREAD_BACKGROUND_PRIORITY:      sys_priority = (PRI_BG_MIN_NP + PRI_BG_MAX_NP) / 2;      break;    case OBJC_THREAD_LOW_PRIORITY:      sys_priority = (PRI_BG_MIN_NP + PRI_BG_MAX_NP) / 2;      break;    }      /* Change the priority. */  if (pthread_setprio(pthread_self(), sys_priority) >= 0)    return 0;  else    /* Failed */    return -1;}/* Return the current thread's priority. */int__objc_thread_get_priority(void){  int sys_priority;      if ((sys_priority = pthread_getprio(pthread_self())) >= 0) {    if (sys_priority >= PRI_FG_MIN_NP && sys_priority <= PRI_FG_MAX_NP)      return OBJC_THREAD_INTERACTIVE_PRIORITY;    if (sys_priority >= PRI_BG_MIN_NP && sys_priority <= PRI_BG_MAX_NP)      return OBJC_THREAD_BACKGROUND_PRIORITY;    return OBJC_THREAD_LOW_PRIORITY;  }  /* Failed */  return -1;}/* Yield our process time to another thread. */void__objc_thread_yield(void){  pthread_yield();}/* Terminate the current thread. */int__objc_thread_exit(void){  /* exit the thread */  pthread_exit(&__objc_thread_exit_status);  /* Failed if we reached here */  return -1;}/* Returns an integer value which uniquely describes a thread. */objc_thread_t__objc_thread_id(void){  pthread_t self = pthread_self();  return (objc_thread_t) pthread_getunique_np (&self);}/* Sets the thread's local storage pointer. */int__objc_thread_set_data(void *value){  return pthread_setspecific(_objc_thread_storage, value);}/* Returns the thread's local storage pointer. */void *__objc_thread_get_data(void){  void *value = NULL;  if ( !(pthread_getspecific(_objc_thread_storage, &value)) )    return value;  return NULL;}/* Backend mutex functions *//* Allocate a mutex. */int__objc_mutex_allocate(objc_mutex_t mutex){  if (pthread_mutex_init((pthread_mutex_t *)(&(mutex->backend)), 			 pthread_mutexattr_default))    return -1;  else    return 0;}/* Deallocate a mutex. */int__objc_mutex_deallocate(objc_mutex_t mutex){  if (pthread_mutex_destroy((pthread_mutex_t *)(&(mutex->backend))))    return -1;  else    return 0;}/* Grab a lock on a mutex. */int__objc_mutex_lock(objc_mutex_t mutex){  return pthread_mutex_lock((pthread_mutex_t *)(&(mutex->backend)));}/* Try to grab a lock on a mutex. */int__objc_mutex_trylock(objc_mutex_t mutex){  if (pthread_mutex_trylock((pthread_mutex_t *)(&(mutex->backend))) != 1)    return -1;  else    return 0;}/* Unlock the mutex */int__objc_mutex_unlock(objc_mutex_t mutex){  return pthread_mutex_unlock((pthread_mutex_t *)(&(mutex->backend)));}/* Backend condition mutex functions *//* Allocate a condition. */int__objc_condition_allocate(objc_condition_t condition){  /* Unimplemented. */  return -1;  /*  if (pthread_cond_init((pthread_cond_t *)(&(condition->backend)), NULL))    return -1;  else    return 0;    */}/* Deallocate a condition. */int__objc_condition_deallocate(objc_condition_t condition){  /* Unimplemented. */  return -1;  /*  return pthread_cond_destroy((pthread_cond_t *)(&(condition->backend)));  */}/* Wait on the condition */int__objc_condition_wait(objc_condition_t condition, objc_mutex_t mutex){  /* Unimplemented. */  return -1;  /*  return pthread_cond_wait((pthread_cond_t *)(&(condition->backend)),			   (pthread_mutex_t *)(&(mutex->backend)));			   */}/* Wake up all threads waiting on this condition. */int__objc_condition_broadcast(objc_condition_t condition){  /* Unimplemented. */  return -1;  /*  return pthread_cond_broadcast((pthread_cond_t *)(&(condition->backend)));  */}/* Wake up one thread waiting on this condition. */int__objc_condition_signal(objc_condition_t condition){  /* Unimplemented. */  return -1;  /*  return pthread_cond_signal((pthread_cond_t *)(&(condition->backend)));  */}/* End of File */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久蜜臀| 亚洲综合免费观看高清在线观看| 国产校园另类小说区| 国产不卡在线视频| 日韩国产欧美三级| 亚洲欧洲综合另类| 久久精品男人天堂av| 欧美日韩亚洲不卡| aaa亚洲精品| 国产黄色91视频| 日产国产欧美视频一区精品| 亚洲综合无码一区二区| 国产欧美综合色| 久久综合九色欧美综合狠狠| 欧美男人的天堂一二区| 91啪亚洲精品| 91污在线观看| 99re8在线精品视频免费播放| 综合激情网...| 国产精品素人视频| 26uuu另类欧美亚洲曰本| 91精品久久久久久久久99蜜臂 | 亚洲国产精品精华液网站| 日韩美女主播在线视频一区二区三区| 国产最新精品免费| 日韩精品亚洲一区二区三区免费| 欧美成人video| 欧美精品一二三| 欧美日韩在线播放三区| 91在线国内视频| 成人av网站在线观看| 国产精品一区三区| 国产精品88av| 成人黄色网址在线观看| 国产一区啦啦啦在线观看| 免费在线看成人av| 青椒成人免费视频| 美国毛片一区二区| 久久福利资源站| 韩国中文字幕2020精品| 精品一区二区在线免费观看| 美女久久久精品| 久久国产精品72免费观看| 久久精品999| 国产精品 日产精品 欧美精品| 亚洲老妇xxxxxx| 午夜国产不卡在线观看视频| 午夜视频在线观看一区| 日本一区中文字幕| 精品一区二区三区的国产在线播放| 成人免费一区二区三区在线观看| 欧美一区二区视频在线观看| 欧美v国产在线一区二区三区| 99久久精品国产一区| 97成人超碰视| 欧美私人免费视频| 91麻豆精品国产无毒不卡在线观看| 国产乱子伦视频一区二区三区| 亚洲一区在线免费观看| 午夜久久久影院| 精品一区二区免费| 成人在线视频首页| 在线观看日韩国产| 欧美成人性福生活免费看| 国产午夜精品美女毛片视频| 中文字幕第一区综合| 亚洲美女屁股眼交| 日本亚洲免费观看| 成人性生交大片免费看在线播放| 美女在线一区二区| 国产大片一区二区| 91福利在线观看| 精品久久久久久久一区二区蜜臀| 欧美日本一区二区在线观看| 精品国产乱子伦一区| 国产精品免费视频网站| 亚洲综合男人的天堂| 国产综合久久久久影院| 色婷婷精品久久二区二区蜜臂av| 成人免费毛片嘿嘿连载视频| 欧美欧美欧美欧美| 亚洲国产精品ⅴa在线观看| 午夜不卡av在线| 成人性生交大合| 91精品午夜视频| 国产精品丝袜黑色高跟| 香蕉成人伊视频在线观看| 国产成人精品免费看| 欧美精品日韩综合在线| 国产精品久久久爽爽爽麻豆色哟哟 | 九九久久精品视频| 成人性色生活片| 91精品国产一区二区三区蜜臀| 欧美亚洲日本国产| 欧美精品一区二区三区高清aⅴ| 欧美一级日韩免费不卡| 中文字幕在线一区免费| 日韩av不卡在线观看| 91视频91自| 欧美经典一区二区| 蜜臀a∨国产成人精品| 色欧美日韩亚洲| 国产香蕉久久精品综合网| 秋霞国产午夜精品免费视频| 91久久精品一区二区| 日本一区二区三区电影| 麻豆精品视频在线观看视频| 在线观看视频一区二区欧美日韩| 欧美丰满一区二区免费视频| 亚洲人吸女人奶水| 国产精品88888| 久久亚洲精精品中文字幕早川悠里| 久久精品亚洲一区二区三区浴池 | 欧美狂野另类xxxxoooo| **性色生活片久久毛片| 精品一区二区在线观看| 欧美一区午夜精品| 性欧美疯狂xxxxbbbb| 色老汉一区二区三区| 成人欧美一区二区三区| 成人a区在线观看| 中文无字幕一区二区三区| 国产一区二区成人久久免费影院 | 亚洲国产日产av| 色婷婷久久一区二区三区麻豆| 精品视频一区 二区 三区| 综合中文字幕亚洲| 91在线视频播放| 亚洲乱码一区二区三区在线观看| 丝袜a∨在线一区二区三区不卡| 免费成人你懂的| 日韩精品一区二| 免费观看久久久4p| 日韩欧美在线一区二区三区| 日韩精品一二三| 日韩丝袜情趣美女图片| 日韩国产欧美三级| 日韩欧美高清在线| 国产在线一区二区综合免费视频| 99re视频精品| 亚洲午夜免费福利视频| 欧美偷拍一区二区| 水蜜桃久久夜色精品一区的特点 | 99久久精品情趣| 亚洲另类春色国产| 色婷婷综合激情| 日韩激情在线观看| 精品美女一区二区三区| 国产精品77777竹菊影视小说| 欧美日韩精品系列| 蜜臀av在线播放一区二区三区| 91在线观看成人| 一级精品视频在线观看宜春院| 国产一区二区精品在线观看| 久久久久国产精品麻豆ai换脸| 午夜欧美在线一二页| 日韩免费成人网| 成人午夜免费电影| 一区二区三区日本| 欧美一区二区三区爱爱| 91精品国产福利| 国产在线播放一区| 欧美激情中文不卡| 91国偷自产一区二区开放时间| 国产欧美日韩另类一区| 色综合天天综合网天天看片| 亚洲制服丝袜av| 欧美精品一区二区高清在线观看| 亚洲成人av在线电影| 精品乱人伦一区二区三区| 成人免费毛片嘿嘿连载视频| 亚洲电影一级黄| 久久人人超碰精品| 欧美影视一区二区三区| 精一区二区三区| 亚洲综合色丁香婷婷六月图片| 97久久精品人人做人人爽| 日本人妖一区二区| 国产精品国产三级国产aⅴ入口| 国产在线不卡一区| 亚洲一区在线视频| 国产欧美精品国产国产专区 | 欧美亚洲一区三区| 国产一区二区三区高清播放| 尤物在线观看一区| 国产亚洲欧美中文| 制服丝袜在线91| 色婷婷精品久久二区二区蜜臂av| 中文字幕视频一区二区三区久| 成人激情动漫在线观看| 视频一区视频二区中文字幕| 亚洲国产成人私人影院tom| 欧美精品乱码久久久久久| 国产电影一区二区三区| 日韩 欧美一区二区三区| 亚洲欧洲精品成人久久奇米网| 99热这里都是精品| 蜜桃一区二区三区四区| 亚洲色图制服丝袜| 久久久www成人免费毛片麻豆|