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

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

?? thr-dce.c

?? gcc的組件
?? C
字號:
/* 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 GCC.GCC 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.GCC 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 withGCC; see the file COPYING.  If not, write to the Free SoftwareFoundation, 51 Franklin Street, Fifth Floor,Boston, MA 02110-1301, 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 "objc/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 */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产免费久久综合| 精品少妇一区二区三区在线视频 | 亚洲精品日韩一| 亚洲自拍偷拍图区| 国产精品久久免费看| 亚洲免费色视频| 91在线你懂得| 欧美亚洲国产一区二区三区va| 成人av在线网站| 欧美日韩在线亚洲一区蜜芽| 欧美videofree性高清杂交| 日韩一区二区三区在线视频| 国产日韩精品一区二区三区在线| 亚洲精品菠萝久久久久久久| 美女视频黄a大片欧美| jizz一区二区| 日韩一区二区三区av| 欧美国产视频在线| 午夜久久久影院| 高清日韩电视剧大全免费| 欧美亚洲免费在线一区| 91福利在线导航| 欧美午夜在线一二页| 欧美亚洲日本一区| 9191成人精品久久| 国产精品丝袜黑色高跟| 中文字幕av一区二区三区免费看 | 91国产福利在线| 久久久久久夜精品精品免费| 久久久一区二区三区| 亚洲国产色一区| 成人av免费在线观看| 欧美一级午夜免费电影| 亚洲免费大片在线观看| 亚洲一区二区三区免费视频| 日韩一区二区三| 亚洲精品亚洲人成人网| 国产精品一区二区不卡| 粗大黑人巨茎大战欧美成人| 欧美精品久久久久久久久老牛影院| 欧美日韩一区视频| 欧美一级视频精品观看| 精品理论电影在线| 亚洲一二三区在线观看| 成人一区在线观看| 精品欧美久久久| 日韩视频免费观看高清完整版在线观看 | 国产精品欧美久久久久无广告 | 欧美变态凌虐bdsm| 亚洲大片在线观看| 一本大道久久a久久精品综合| 色8久久精品久久久久久蜜| 欧美日韩一区在线观看| 中文字幕一区二区三区乱码在线| 黄页视频在线91| 99视频超级精品| 久久精品视频一区| 亚洲精品久久久蜜桃| 国产91精品在线观看| 精品少妇一区二区三区免费观看| 日本一区二区三级电影在线观看| 亚洲精品成人a在线观看| 免费在线一区观看| 成人av网站在线观看| 久久这里都是精品| 一区二区三区中文字幕电影| 日韩avvvv在线播放| 粉嫩高潮美女一区二区三区| 日韩精品一区国产麻豆| 中文字幕一区二区三区av| 国产成人精品免费视频网站| 欧美在线一二三四区| 久久色视频免费观看| 久久er99热精品一区二区| 91色综合久久久久婷婷| 中文天堂在线一区| 麻豆精品一区二区综合av| 欧美老肥妇做.爰bbww| 一个色综合av| 福利一区二区在线观看| 久久久久久久久久久久久女国产乱| 久久99久久99| 久久久精品国产99久久精品芒果| 国产精品一区免费视频| 欧美国产精品中文字幕| 免费在线观看精品| 91久久奴性调教| 亚洲综合av网| 在线不卡一区二区| 青青草成人在线观看| 欧美成人一区二区三区片免费| 久久99久久99精品免视看婷婷| 欧亚洲嫩模精品一区三区| 日本一区二区三级电影在线观看| 成人激情视频网站| 久久婷婷一区二区三区| 国产九色精品成人porny| 国产日产欧美一区| 99久久久精品| 视频精品一区二区| 色就色 综合激情| 久久精品国产亚洲aⅴ| 91小视频在线观看| 国产欧美视频在线观看| 日韩极品在线观看| 久久免费国产精品| 99久久夜色精品国产网站| 亚洲国产视频一区二区| 欧美成人欧美edvon| 日本sm残虐另类| 国产亚洲一区字幕| 在线免费观看视频一区| 日本aⅴ精品一区二区三区| 欧美色大人视频| 亚洲国产精品久久不卡毛片| 91丝袜美腿高跟国产极品老师| 亚洲国产精品久久不卡毛片 | 久久综合综合久久综合| 国产欧美日产一区| 欧美日韩在线不卡| 亚洲高清免费观看高清完整版在线观看 | 久久久三级国产网站| 色香蕉成人二区免费| 蜜臀av性久久久久蜜臀av麻豆| 中文字幕第一页久久| 欧美日韩极品在线观看一区| 亚洲精品国产品国语在线app| 欧美一区二区成人6969| voyeur盗摄精品| 一区二区三区美女视频| 一本色道综合亚洲| 蜜臀av一区二区在线免费观看| 国产精品色呦呦| 91精品国产高清一区二区三区蜜臀| 亚洲成人免费av| 欧美经典三级视频一区二区三区| 欧美午夜精品一区二区蜜桃| 国产精品一区2区| 国产精品入口麻豆九色| 4438x亚洲最大成人网| 成人免费三级在线| 亚洲美女视频在线观看| 欧美日韩一区 二区 三区 久久精品| 狠狠色丁香九九婷婷综合五月| 久久九九久久九九| 欧美精选在线播放| 久久精品99久久久| 亚洲一区二区欧美日韩| 欧美一区二区在线播放| 99天天综合性| 午夜久久久影院| 亚洲色图色小说| 欧美欧美午夜aⅴ在线观看| 日韩高清中文字幕一区| 自拍偷拍亚洲综合| 欧美人xxxx| 色综合网色综合| 成人教育av在线| 午夜亚洲国产au精品一区二区| 国产精品久久久久婷婷| 久久久精品国产99久久精品芒果| 91在线精品一区二区| 亚洲午夜在线电影| 亚洲色图欧洲色图婷婷| 国产欧美一区二区三区在线看蜜臀| 91伊人久久大香线蕉| 成人午夜精品在线| 午夜国产不卡在线观看视频| 国产精品不卡一区二区三区| 久久久久久久综合日本| 欧美做爰猛烈大尺度电影无法无天| 欧美aaaaaa午夜精品| 视频一区在线播放| 国产精品毛片a∨一区二区三区| 一本大道av一区二区在线播放| 成人av动漫在线| 粉嫩13p一区二区三区| 国产乱妇无码大片在线观看| 久久精品国产精品亚洲综合| 亚洲女同ⅹxx女同tv| 国产精品美女一区二区三区| 欧美美女一区二区在线观看| 91久久人澡人人添人人爽欧美| 国产一区二区三区观看| 麻豆91精品视频| 久久99久久99| 国产一区二区精品在线观看| 国模一区二区三区白浆| 国产最新精品免费| 亚洲成人福利片| 日本大胆欧美人术艺术动态 | 91精品福利在线一区二区三区| 欧美日韩激情在线| 欧美一区三区四区| 欧美成人一区二区三区| 久久综合九色综合欧美亚洲| 久久久蜜桃精品| 中文字幕一区av| 亚洲精品视频免费看| 久久久久久久国产精品影院|