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

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

?? thr-solaris.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)   Conditions added by Mircea Oancea (mircea@first.elcom.pub.ro)      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 "objc/thr.h"#include "objc/runtime.h"#include <thread.h>#include <synch.h>#include <errno.h>/* Key structure for maintaining thread specific storage */static thread_key_t     __objc_thread_data_key;/* Backend initialization functions *//* Initialize the threads subsystem. */int__objc_init_thread_system(void){  /* Initialize the thread storage key */  if (thr_keycreate(&__objc_thread_data_key, NULL) == 0)    return 0;  else    return -1;}/* Close the threads subsystem. */int__objc_close_thread_system(void){  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;  thread_t new_thread_id = 0;  if (thr_create(NULL, 0, (void *)func, arg,                 THR_DETACHED | THR_NEW_LWP,                 &new_thread_id) == 0)    thread_id = *(objc_thread_t *)&new_thread_id;  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 = 300;      break;    default:    case OBJC_THREAD_BACKGROUND_PRIORITY:      sys_priority = 200;      break;    case OBJC_THREAD_LOW_PRIORITY:      sys_priority = 1000;      break;    }  /* Change priority */  if (thr_setprio(thr_self(), sys_priority) == 0)    return 0;  else    return -1;}/* Return the current thread's priority. */int__objc_thread_get_priority(void){  int sys_priority;                                                     if (thr_getprio(thr_self(), &sys_priority) == 0)    {      if (sys_priority >= 250)	return OBJC_THREAD_INTERACTIVE_PRIORITY;      else if (sys_priority >= 150)	return OBJC_THREAD_BACKGROUND_PRIORITY;      return OBJC_THREAD_LOW_PRIORITY;    }  /* Couldn't get priority. */  return -1;}/* Yield our process time to another thread. */void__objc_thread_yield(void){  thr_yield();}/* Terminate the current thread. */int__objc_thread_exit(void){  /* exit the thread */  thr_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){  return (objc_thread_t)thr_self();}/* Sets the thread's local storage pointer. */int__objc_thread_set_data(void *value){  if (thr_setspecific(__objc_thread_data_key, value) == 0)    return 0;  else    return -1;}/* Returns the thread's local storage pointer. */void *__objc_thread_get_data(void){  void *value = NULL;  if (thr_getspecific(__objc_thread_data_key, &value) == 0)    return value;  return NULL;}/* Backend mutex functions *//* Allocate a mutex. */int__objc_mutex_allocate(objc_mutex_t mutex){  if (mutex_init( (mutex_t *)(&(mutex->backend)), USYNC_THREAD, 0))    return -1;  else    return 0;}/* Deallocate a mutex. */int__objc_mutex_deallocate(objc_mutex_t mutex){  mutex_destroy((mutex_t *)(&(mutex->backend)));  return 0;}/* Grab a lock on a mutex. */int__objc_mutex_lock(objc_mutex_t mutex){  if (mutex_lock((mutex_t *)(&(mutex->backend))) != 0)    return -1;  else    return 0;}/* Try to grab a lock on a mutex. */int__objc_mutex_trylock(objc_mutex_t mutex){  if (mutex_trylock((mutex_t *)(&(mutex->backend))) != 0)    return -1;  else    return 0;}/* Unlock the mutex */int__objc_mutex_unlock(objc_mutex_t mutex){  if (mutex_unlock((mutex_t *)(&(mutex->backend))) != 0)    return -1;  else    return 0;}/* Backend condition mutex functions *//* Allocate a condition. */int__objc_condition_allocate(objc_condition_t condition){  return cond_init((cond_t *)(&(condition->backend)), USYNC_THREAD, NULL);}/* Deallocate a condition. */int__objc_condition_deallocate(objc_condition_t condition){  return cond_destroy((cond_t *)(&(condition->backend)));}/* Wait on the condition */int__objc_condition_wait(objc_condition_t condition, objc_mutex_t mutex){  return cond_wait((cond_t *)(&(condition->backend)),		   (mutex_t *)(&(mutex->backend)));}/* Wake up all threads waiting on this condition. */int__objc_condition_broadcast(objc_condition_t condition){  return cond_broadcast((cond_t *)(&(condition->backend)));}/* Wake up one thread waiting on this condition. */int__objc_condition_signal(objc_condition_t condition){  return cond_signal((cond_t *)(&(condition->backend)));}/* End of File */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜激情片| 国产高清成人在线| 一区二区三区丝袜| 亚洲欧美激情视频在线观看一区二区三区| 欧美成人精品福利| 日韩三级在线观看| 日韩精品在线一区二区| 日韩一级二级三级| 精品久久久久久久一区二区蜜臀| 在线成人av网站| 欧美大片在线观看| 久久久久久久综合狠狠综合| 国产精品色在线| 自拍偷拍国产精品| 亚洲成人第一页| 麻豆成人久久精品二区三区小说| 韩国一区二区三区| 成人福利视频在线看| 99视频精品免费视频| 色久优优欧美色久优优| 欧美日韩dvd在线观看| 欧美一级二级三级蜜桃| 国产嫩草影院久久久久| 亚洲欧美另类图片小说| 亚洲国产视频一区二区| 国内外精品视频| 不卡电影一区二区三区| 一本大道久久a久久精二百| 欧美熟乱第一页| 久久久久久久国产精品影院| 亚洲免费大片在线观看| 日日噜噜夜夜狠狠视频欧美人| 国产在线麻豆精品观看| 色狠狠桃花综合| 精品理论电影在线观看| 亚洲精品视频在线观看免费| 轻轻草成人在线| 99久久伊人网影院| 欧美一区二区视频在线观看2020| 欧美国产日韩a欧美在线观看| 午夜一区二区三区在线观看| 成人在线综合网| 日韩一级片网址| 亚洲主播在线观看| 成人app在线观看| 日韩欧美卡一卡二| 亚洲激情网站免费观看| 激情深爱一区二区| 欧美日韩不卡视频| 亚洲视频综合在线| 成人夜色视频网站在线观看| 日韩一区二区中文字幕| 亚洲一区二区在线观看视频 | 成人免费看的视频| 欧美日韩一二三| ...av二区三区久久精品| 精品一区二区免费视频| 欧美精三区欧美精三区| 一区二区免费在线播放| av激情综合网| 国产精品欧美一级免费| 激情五月激情综合网| 日韩欧美在线观看一区二区三区| 亚洲欧美日韩在线不卡| 97se亚洲国产综合自在线| 欧美国产日韩亚洲一区| 国产福利一区二区三区视频 | 一级做a爱片久久| 国产91色综合久久免费分享| 久久你懂得1024| 久久66热偷产精品| 精品国产一区二区国模嫣然| 精品影院一区二区久久久| 欧美一区二区观看视频| 日韩电影免费在线| 欧美一区二区啪啪| 国产综合色精品一区二区三区| 91精品国产91热久久久做人人| 奇米影视在线99精品| 日韩欧美国产麻豆| 国产一区二区成人久久免费影院| 久久理论电影网| 国产福利不卡视频| 最新国产成人在线观看| 色又黄又爽网站www久久| 一区二区三区中文字幕| 欧美日韩三级一区| 免费成人在线观看视频| 精品国产髙清在线看国产毛片| 久久精品国产77777蜜臀| 欧美精品一区二区久久久| 国产福利一区二区三区视频| 欧美激情综合在线| 99精品欧美一区二区三区小说 | 国产乱码字幕精品高清av| 欧美大白屁股肥臀xxxxxx| 国产精品99久| 亚洲欧美偷拍卡通变态| 欧美美女喷水视频| 久久精品99久久久| 国产精品久久久久婷婷二区次 | 日韩av一级电影| 久久综合一区二区| 99re热这里只有精品视频| 樱桃国产成人精品视频| 精品区一区二区| 色综合天天视频在线观看| 丝袜亚洲精品中文字幕一区| 国产午夜一区二区三区| 日本电影欧美片| 久久激情五月激情| 伊人夜夜躁av伊人久久| 日韩欧美国产高清| 91亚洲精品乱码久久久久久蜜桃| 日本亚洲欧美天堂免费| 中文字幕一区二区三区在线播放 | 一区二区日韩电影| 日韩精品一区二区三区四区| 91麻豆免费视频| 国产精品亚洲综合一区在线观看| 一区二区三区欧美久久| 久久综合999| 制服视频三区第一页精品| av午夜一区麻豆| 国产精品一二三| 日本伊人色综合网| 一区二区三区日韩精品视频| 久久精品夜夜夜夜久久| 69p69国产精品| 欧美在线免费观看视频| 成人精品在线视频观看| 久久99精品国产麻豆婷婷| 亚洲在线观看免费| 亚洲欧美另类小说| 亚洲精选视频在线| 欧美激情在线观看视频免费| 日韩视频免费观看高清完整版 | 丁香啪啪综合成人亚洲小说 | 蜜桃久久久久久| 亚洲国产成人精品视频| 中文字幕日本乱码精品影院| 久久精品视频在线看| 精品国产制服丝袜高跟| 欧美一区二视频| 日韩女优av电影在线观看| 日韩一区二区三区视频在线观看| 欧美日韩精品一区二区三区| 在线观看国产精品网站| 91免费版pro下载短视频| 成人aaaa免费全部观看| 成a人片国产精品| 国产电影精品久久禁18| 国产乱人伦偷精品视频不卡| 韩国一区二区视频| 国产精品影视在线| 成人综合婷婷国产精品久久蜜臀| 国产不卡免费视频| 成人丝袜18视频在线观看| 成人晚上爱看视频| www.色精品| 在线日韩av片| 在线成人免费视频| 欧美变态tickle挠乳网站| 亚洲精品在线三区| 欧美激情在线免费观看| 亚洲黄色免费电影| 亚洲成国产人片在线观看| 久久精品免费看| 国产高清精品在线| 色综合激情五月| 日韩欧美激情在线| 欧美国产一区视频在线观看| 亚洲日穴在线视频| 午夜影视日本亚洲欧洲精品| 精品一二三四在线| 91蜜桃视频在线| 欧美一区二区观看视频| 国产日韩欧美精品一区| 亚洲欧美日韩中文播放 | 香蕉成人伊视频在线观看| 久久99久久精品| 欧美色图一区二区三区| 欧美一区二区三区喷汁尤物| 久久综合成人精品亚洲另类欧美 | www久久精品| 亚洲欧洲av色图| 日韩vs国产vs欧美| 国产69精品久久久久毛片| 欧美日韩国产另类一区| 久久久国产精品不卡| 一区二区三区在线免费| 国产精品自在在线| 91国产福利在线| 中文乱码免费一区二区| 欧美aa在线视频| 欧美视频日韩视频| 国产精品久久久久久久午夜片 | 日本亚洲三级在线| 色悠悠亚洲一区二区| 久久久久国产成人精品亚洲午夜|