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

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

?? signal.c

?? kaffe Java 解釋器語言,源碼,Java的子集系統,開放源代碼
?? C
字號:
/* * signal.c * Implement signal-based exception handling * * Copyright (c) 1996, 1997, 1998, 1999 *	Transvirtual Technologies, Inc.  All rights reserved. * * See the file "license.terms" for information on usage and redistribution  * of this file.  */#include "config.h"#include "debug.h"#include "config-std.h"#include "config-signal.h"#include "config-mem.h"#include "config-setjmp.h"#include "gtypes.h"#include "jsignal.h"#include "md.h"#if defined(INTERPRETER)#define	DEFINEFRAME()		/* Does nothing */#define	EXCEPTIONPROTO		int sig#define	EXCEPTIONFRAME(f, c)	/* Does nothing */#define	EXCEPTIONFRAMEPTR	0#elif defined(TRANSLATOR)#define	DEFINEFRAME()		exceptionFrame frame#define	EXCEPTIONFRAMEPTR	&frame#endif /* TRANSLATOR */typedef void (*exchandler_t)(struct _exceptionFrame*);#if defined(__WIN32__)#define SIG_T   void(*)()#else#define SIG_T   void*#endifvoid nullException(EXCEPTIONPROTO);static void floatingException(EXCEPTIONPROTO);static exchandler_t nullHandler;static exchandler_t floatingHandler;/* * Setup the internal exceptions. */voidjthread_initexceptions(exchandler_t _nullHandler,		       exchandler_t _floatingHandler){	nullHandler = _nullHandler;	floatingHandler = _floatingHandler;	if (DBGEXPR(EXCEPTION, false, true)) {		/* Catch signals we need to convert to exceptions */#if defined(SIGSEGV)		registerSyncSignalHandler(SIGSEGV, nullException);#endif#if defined(SIGBUS)		registerSyncSignalHandler(SIGBUS, nullException);#endif#if defined(SIGFPE)		registerSyncSignalHandler(SIGFPE, floatingException);#endif#if defined(SIGPIPE)		ignoreSignal(SIGPIPE);#endif	}}/* * Null exception - catches bad memory accesses. */voidnullException(EXCEPTIONPROTO){	DEFINEFRAME();	/* Restore the signal handler if necessary */	restoreSyncSignalHandler(sig, nullException);	/* Clean up the synchronous signal state (just unblock this signal) */	unblockSignal(sig);	EXCEPTIONFRAME(frame, ctx);	nullHandler(EXCEPTIONFRAMEPTR);}/* * Division by zero. */static voidfloatingException(EXCEPTIONPROTO){	DEFINEFRAME();	/* Restore the signal handler if necessary */	restoreSyncSignalHandler(sig, floatingException);	/* Clean up the synchronous signal state (just unblock this signal) */	unblockSignal(sig);	EXCEPTIONFRAME(frame, ctx);	floatingHandler(EXCEPTIONFRAMEPTR);}/* ----------------------------------------------- * OS signal handling code.  See FAQ/FAQ.jsignal for information. * ----------------------------------------------- */static voidregisterSignalHandler(int sig, void* handler, int isAsync){#if defined(HAVE_SIGACTION)	struct sigaction newact;	newact.sa_handler = (SIG_T)handler;	sigemptyset(&newact.sa_mask);	/*	 * Define sa_mask to include the signals to block when	 * running handler.	 */	if (isAsync) {		sigaddset(&newact.sa_mask, SIGIO);		sigaddset(&newact.sa_mask, SIGALRM);		sigaddset(&newact.sa_mask, SIGCHLD);#if defined(SIGVTALRM)		sigaddset(&newact.sa_mask, SIGVTALRM);#endif	}	newact.sa_flags = 0;#if defined(SA_SIGINFO)	newact.sa_flags |= SA_SIGINFO;#endif#if defined(SA_RESTART)	newact.sa_flags |= SA_RESTART;#endif	sigaction(sig, &newact, NULL);#elif defined(HAVE_SIGNAL)#warning The default signal() semantics may not be sufficient for Kaffe.	signal(sig, (SIG_T)handler);#else#error No signal handler support.  Jthreads requires signal support.	#endif /* HAVE_SIGACTION */}/* * Register a handler for an asynchronous signal. */voidregisterAsyncSignalHandler(int sig, void* handler){	int validSig = 		(sig == SIGALRM)#if defined(SIGVTALRM)		|| (sig == SIGVTALRM) #endif		|| (sig == SIGIO)		|| (sig == SIGUSR1)		|| (sig == SIGCHLD);	/* Make sure its really an asynchronous signal being registered. */	assert(handler != NULL);	assert(validSig);  /* Can't have the #ifdef in a macro arg. */	/*	 * Register an asynchronous signal handler that will block all	 * other asynchronous signals while the handler is running.	 */	registerSignalHandler(sig, handler, true);}/* * Register a signal handler for a synchronous signal. */voidregisterSyncSignalHandler(int sig, void* handler){	int validSig = 0#if defined(SIGFPE)	       		|| (sig == SIGFPE)#endif#if defined(SIGSEGV)		|| (sig == SIGSEGV)#endif#if defined(SIGBUS)		|| (sig == SIGBUS)#endif		;		assert(handler != NULL);	assert(validSig);		/* Register a synchronous signal handler */	registerSignalHandler(sig, handler, false);}/* * Restore an asynchronous signal handler.   * Only necesary on some platforms which don't provide SIGACTION */voidrestoreAsyncSignalHandler(int sig, void* handler){#if !defined(HAVE_SIGACTION)	/* XXX need a configure-time test for this. */	registerAsyncSignalHandler(sig, handler);#endif}/* * Restore a synchronous signal handler.   * Only necesary on some platforms. */voidrestoreSyncSignalHandler(int sig, void* handler){#if !defined(HAVE_SIGACTION)	/* XXX need a configure-time test for this. */	registerSyncSignalHandler(sig, handler);#endif}/* * Register a handler for a terminal (i.e., process-killing) signal. * These handlers must exit(). */voidregisterTerminalSignal(int sig, void* handler){	assert((sig == SIGINT) || (sig == SIGTERM));	registerSignalHandler(sig, handler, true);}/* * Clear the given signal (i.e., restore the default behavior of the signal) */voidclearSignal(int sig){	registerSignalHandler(sig, SIG_DFL, false);}/* * Ignore the given signal. */voidignoreSignal(int sig){	registerSignalHandler(sig, SIG_IGN, false);}/* * Unblock the given signal. */voidunblockSignal(int sig){	sigset_t nsig;	sigemptyset(&nsig);	sigaddset(&nsig, sig);	sigprocmask(SIG_UNBLOCK, &nsig, 0);}/* * Unblock all of the async signals.  (These are the * signals specified in the sa_mask in registerAsynchSignalHandler().) */void unblockAsyncSignals(void){	sigset_t nsig;	sigemptyset(&nsig);	sigaddset(&nsig, SIGIO);	sigaddset(&nsig, SIGALRM);	sigaddset(&nsig, SIGCHLD);#if defined(SIGVTALRM)	sigaddset(&nsig, SIGVTALRM);#endif	sigprocmask(SIG_UNBLOCK, &nsig, 0);	}/* * Block all of the async signals.  (These are the * signals specified in the sa_mask in registerAsynchSignalHandler().) */void blockAsyncSignals(void){	sigset_t nsig;	sigemptyset(&nsig);	sigaddset(&nsig, SIGIO);	sigaddset(&nsig, SIGALRM);	sigaddset(&nsig, SIGCHLD);#if defined(SIGVTALRM)	sigaddset(&nsig, SIGVTALRM);#endif	sigprocmask(SIG_BLOCK, &nsig, 0);	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品噜噜噜噜久久久久久久久试看| 一区二区三区中文字幕精品精品| 亚洲sss视频在线视频| 欧美日韩在线观看一区二区| 一区二区国产盗摄色噜噜| 色综合久久六月婷婷中文字幕| 亚洲精品第一国产综合野| 欧美在线三级电影| 亚洲国产aⅴ天堂久久| 欧美日韩一区二区三区四区五区| 亚洲国产成人高清精品| 91精品国产91久久久久久最新毛片| 麻豆国产一区二区| 日本一区二区不卡视频| 欧洲一区二区三区免费视频| 日韩av在线发布| 国产午夜精品一区二区三区四区| 91网站黄www| 美国欧美日韩国产在线播放| 中文幕一区二区三区久久蜜桃| 在线观看视频91| 国产盗摄视频一区二区三区| 亚洲一级片在线观看| 久久九九国产精品| 国产精品久久久久久亚洲毛片 | 国产日韩欧美一区二区三区乱码 | 久久66热偷产精品| 亚洲精品欧美综合四区| 2021久久国产精品不只是精品| 91老司机福利 在线| 国产成人精品免费视频网站| 视频一区二区中文字幕| 亚洲精品免费一二三区| 日本一区二区不卡视频| 欧美麻豆精品久久久久久| 国产在线播放一区| 麻豆精品一区二区av白丝在线| 国产一区二区三区久久悠悠色av| 亚洲国产日韩精品| 中文字幕一区三区| 国产精品无人区| 久久综合色婷婷| 精品国产亚洲一区二区三区在线观看| k8久久久一区二区三区| 国产在线精品一区二区三区不卡| 日韩综合小视频| 青青草国产成人99久久| 久久99精品久久久久久国产越南| 日韩精品久久理论片| 麻豆国产精品官网| 国产一区在线观看视频| 972aa.com艺术欧美| 欧美亚洲一区三区| 日韩欧美成人激情| 26uuu亚洲| 中文字幕一区二区三区不卡在线| 国产精品入口麻豆原神| 亚洲人123区| 在线视频欧美精品| 在线视频一区二区免费| 日韩视频不卡中文| 国产农村妇女精品| 亚洲一区二区视频在线观看| 青青青爽久久午夜综合久久午夜| 久久不见久久见中文字幕免费| 国产精品一区二区果冻传媒| 欧美亚洲国产bt| 久久伊99综合婷婷久久伊| 一级做a爱片久久| 国产麻豆精品在线观看| 一本一道综合狠狠老| 欧美电影精品一区二区| 日韩理论在线观看| 精品一区二区三区视频在线观看| 99国产欧美久久久精品| 2022国产精品视频| 秋霞国产午夜精品免费视频| 一道本成人在线| 亚洲丝袜美腿综合| 国产99久久久久| 欧美不卡一二三| 青青草97国产精品免费观看无弹窗版| 成人高清在线视频| 国产精品水嫩水嫩| 粉嫩欧美一区二区三区高清影视| 欧美sm极限捆绑bd| 日韩中文字幕区一区有砖一区 | 91国偷自产一区二区三区成为亚洲经典 | 成人午夜av电影| 精品国产99国产精品| 国产伦精品一区二区三区免费迷 | 亚洲精品日韩一| 欧日韩精品视频| 国产精品素人视频| 国产成人高清在线| 国产精品久久久久久久浪潮网站| 国内精品视频一区二区三区八戒 | 69堂成人精品免费视频| 日产精品久久久久久久性色| 欧美一区二区高清| 久草中文综合在线| 久久久国际精品| 成人中文字幕在线| 一区二区三区精品| 欧美一区二区在线视频| 韩国女主播成人在线| 中文字幕一区二区三| 欧美日韩久久久| 国产一区二三区好的| 自拍偷拍欧美激情| 在线综合亚洲欧美在线视频| 国产乱码精品1区2区3区| 国产精品美女久久久久av爽李琼| 91在线丨porny丨国产| 日本成人在线网站| 日本一区二区三区久久久久久久久不| 99re免费视频精品全部| 免费观看日韩电影| 国产精品电影院| 精品国产a毛片| 6080国产精品一区二区| 成人av资源网站| 另类小说一区二区三区| 一区二区三区小说| wwww国产精品欧美| 欧美精品日韩一本| 色婷婷综合久久久久中文一区二区| 蜜乳av一区二区三区| 一区二区三区毛片| 1000精品久久久久久久久| 精品国产91乱码一区二区三区| 欧美日韩在线三级| 欧美影视一区二区三区| av网站一区二区三区| 国产精品亚洲人在线观看| 免费精品视频在线| 久久福利视频一区二区| 日韩在线a电影| 日韩国产欧美在线播放| 午夜精品在线看| 石原莉奈在线亚洲二区| 秋霞av亚洲一区二区三| 丝袜国产日韩另类美女| 首页亚洲欧美制服丝腿| 三级欧美韩日大片在线看| 国产凹凸在线观看一区二区| 福利一区在线观看| 91麻豆国产精品久久| 欧美日韩在线直播| 精品不卡在线视频| 国产色一区二区| 亚洲精品国产无天堂网2021| 亚洲男同1069视频| 日韩影院精彩在线| 国产一区二区三区免费看| 国产成人亚洲综合a∨婷婷图片| 成人天堂资源www在线| 一本大道久久a久久精二百| 在线免费一区三区| 精品国产91亚洲一区二区三区婷婷| 久久久99精品免费观看不卡| 亚洲视频免费在线| 久久精品国产色蜜蜜麻豆| 成人精品一区二区三区四区 | 精品久久久久久无| 亚洲人妖av一区二区| 性做久久久久久免费观看| 国产精品一卡二| 欧美视频在线一区| 国产精品久久久久久久浪潮网站 | 欧美福利视频导航| 国产精品视频观看| 日本视频中文字幕一区二区三区| 成人免费高清在线| 精品国产乱码久久久久久老虎 | 卡一卡二国产精品| 91精品国产91久久综合桃花 | 久久久久99精品国产片| 午夜日韩在线电影| 欧洲精品在线观看| 亚洲精品成人在线| 91色视频在线| 亚洲婷婷综合色高清在线| 九九九精品视频| www成人在线观看| 久久69国产一区二区蜜臀| 欧美一区二区三区视频免费| 日本中文在线一区| 欧美一区二区观看视频| 蜜臀精品一区二区三区在线观看| 欧美亚洲禁片免费| 亚洲亚洲人成综合网络| 欧美精品第一页| 天堂午夜影视日韩欧美一区二区| 日本久久一区二区| 亚洲高清免费视频| 日韩欧美久久一区| 国模套图日韩精品一区二区 | 综合电影一区二区三区| 欧美亚洲国产怡红院影院|