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

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

?? thread_app.c

?? fsmlabs的real time linux的內核
?? C
字號:
/* * (C) Finite State Machine Labs Inc. 2000 business@fsmlabs.com * * Released under the terms of GPL 2. * Open RTLinux makes use of a patented process described in * US Patent 5,995,745. Use of this process is governed * by the Open RTLinux Patent License which can be obtained from * www.fsmlabs.com/PATENT or by sending email to * licensequestions@fsmlabs.com */#include <sys/types.h>#include <sys/stat.h>#include <sys/poll.h>#include <fcntl.h>#include <unistd.h>#include <errno.h>#include <string.h>#include <signal.h>#include <stdlib.h>#include <stdio.h>#ifndef	hrtime_ttypedef long long int hrtime_t;#endif				/* hrtime_t *//* FIFO number to use */#define	FIFO		0/* number of tests to run */#define NUM_TESTS	32/* amount of time each test should take */#define HANGTIME	50000000#define HANGTIME_MS	HANGTIME / 1000000#define HANGTIME_US	HANGTIME / 1000/* module unload and loading commands */#define	MODULE_LOAD	"/sbin/insmod regression/thread_time.o fifo=%d times=%d wait=%Ld"#define MODULE_UNLOAD	"/sbin/rmmod thread_time"char *construct_filename(int);int stat_test(const char *);int load_module(int, int, hrtime_t);int unload_module();void my_sahandler(int);int sig_handler_setup();int main(void){	char *filename;	int retval, filedes, all_times_sz, i;	hrtime_t all_times[NUM_TESTS];	hrtime_t cur_drift, avg_drift, diff_time, worst_drift;	struct pollfd fifo_poll;	avg_drift = 0;	worst_drift = 0;	all_times_sz = (sizeof(hrtime_t) * (NUM_TESTS + 1));	unload_module();	sig_handler_setup();	if ((retval = load_module(FIFO, NUM_TESTS, HANGTIME)) < 0) {		return (retval);	}	if ((filename = construct_filename(FIFO)) == NULL) {		unload_module();		return (-1);	}	if ((retval = stat_test(filename)) < 0) {		unload_module();		free(filename);		return (retval);	}	if ((filedes = open(filename, O_RDONLY | O_NONBLOCK)) < 0) {		fprintf(stderr, "open (%s, O_RDONLY): %s\n", filename,			strerror(errno));		unload_module();		free(filename);		return (errno);	}	fifo_poll.fd = filedes;	fifo_poll.events = POLLIN;	i = 0;	while (i < all_times_sz) {		if ((poll(&fifo_poll, 1, 2 * HANGTIME_MS * NUM_TESTS)) <=		    0) {			fprintf(stderr, "poll (&fifo_poll, 1, %d): %s\n",				HANGTIME_MS * NUM_TESTS, strerror(errno));			close(filedes);			free(filename);			unload_module();			return (errno);		}		if (		    (retval =		     read(filedes, all_times + i, all_times_sz - i)) < 0) {			fprintf(stderr, "read (%d, all_times, %d): %s\n",				filedes, all_times_sz, strerror(errno));			close(filedes);			free(filename);			unload_module();			return (errno);		}		i += retval;	}	close(filedes);	free(filename);	unload_module();	for (i = 1; i < NUM_TESTS; i++) {		diff_time = all_times[i] - all_times[i - 1];		cur_drift =		    (diff_time <		     HANGTIME) ? (HANGTIME -				  diff_time) : (diff_time - HANGTIME);		avg_drift += cur_drift;		worst_drift =		    (worst_drift < cur_drift) ? cur_drift : worst_drift;	}	avg_drift /= NUM_TESTS;	/* check to see if the worst case time was 50000 nanoseconds (50	 * microseconds) or more */	fprintf(stderr,		"avg_drift: %d.%02d us\tworst_drift: %d.%02d us\n",		(long) avg_drift / 1000, (long) (avg_drift % 1000) / 10,		(long) worst_drift / 1000,		(long) (worst_drift % 1000) / 10);	if (worst_drift >= 50000) {		return (-1);	}	return (0);}int unload_module(){	if ((system(MODULE_UNLOAD)) != 0) {		fprintf(stderr, "system (%s): %s\n", MODULE_UNLOAD,			strerror(errno));		return (errno);	}	return (0);}int load_module(int fifo_nr, int num_tests, hrtime_t wait){	int i = strlen(MODULE_LOAD) + 32;	char command[i];	if (	    (snprintf	     (command, i, MODULE_LOAD, fifo_nr, num_tests, wait)) < 0) {		fprintf(stderr, "snprintf (): %s", strerror(errno));		return (errno);	}	if ((system(command)) != 0) {		fprintf(stderr, "system (%s): %s\n", command,			strerror(errno));		return (errno);	}	return (0);}char *construct_filename(int i){	char *filename;	if ((filename = (char *) calloc(11, sizeof(char))) == NULL) {		fprintf(stderr, "calloc (11, sizeof (char)): %s\n",			strerror(errno));		return (NULL);	}	if ((snprintf(filename, 11, "/dev/rtf%d", i)) < 0) {		fprintf(stderr,			"snprintf (filename, 11, /dev/rtf%d): %s",			i, strerror(errno));		free(filename);		return (NULL);	}	return (filename);}int stat_test(const char *filename){	struct stat file_stats;	if (stat(filename, &file_stats) != 0) {		fprintf(stderr, "stat (%s, &file_stats): %s\n",			filename, strerror(errno));		return (errno);	}	if (!(S_ISCHR(file_stats.st_mode))) {		fprintf(stderr, "%s is not a character device.\n",			filename);		return (-1);	}	return (0);}int sig_handler_setup(void){	struct sigaction *my_action;	struct sigaction *old_action;	if (	    (my_action =	     (struct sigaction *) calloc(1,					 sizeof(struct sigaction)))	    == NULL) {		fprintf(stderr, "calloc (1, %d): %s\n",			sizeof(struct sigaction), strerror(errno));		return (errno);	}	my_action->sa_handler = &my_sahandler;	if (	    (old_action =	     (struct sigaction *) calloc(1,					 sizeof(struct sigaction)))	    == NULL) {		fprintf(stderr, "calloc (1, %d): %s\n",			sizeof(struct sigaction), strerror(errno));		return (errno);	}	sigaction(SIGHUP, my_action, old_action);	sigaction(SIGINT, my_action, old_action);	sigaction(SIGQUIT, my_action, old_action);	return (0);}void my_sahandler(int whatever){	fprintf(stderr, "my_sahandler: received signal %d\n", whatever);	unload_module();	exit(whatever);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线视频你懂得一区| 国产精品天干天干在观线| 2021久久国产精品不只是精品| 国产精品无码永久免费888| 亚洲综合丁香婷婷六月香| 国产成人av电影在线| 6080日韩午夜伦伦午夜伦| 国产精品美女久久久久久久久久久 | 欧美日韩国产综合一区二区| 久久久久久99精品| 亚洲成国产人片在线观看| 成人爽a毛片一区二区免费| 日韩三级在线观看| 亚洲v日本v欧美v久久精品| a4yy欧美一区二区三区| 亚洲精品一区二区三区四区高清| 亚洲自拍与偷拍| 91色婷婷久久久久合中文| 久久久91精品国产一区二区精品 | 精品一区二区三区香蕉蜜桃| 欧美亚洲国产一区二区三区 | 91网站在线播放| 国产午夜久久久久| 国产精品影视天天线| 日韩一区二区三区av| 午夜一区二区三区在线观看| 色婷婷精品久久二区二区蜜臂av| 国产欧美日韩久久| 国产a视频精品免费观看| 精品国产91乱码一区二区三区 | 日韩理论在线观看| 国产成人激情av| 久久精品欧美一区二区三区不卡| 久久成人久久爱| 精品国产免费一区二区三区四区| 麻豆精品新av中文字幕| 精品粉嫩aⅴ一区二区三区四区| 午夜久久久久久电影| 欧美另类videos死尸| 石原莉奈在线亚洲三区| 日韩一区二区三区视频在线观看| 秋霞国产午夜精品免费视频| 欧美肥妇free| 激情文学综合插| 欧美国产1区2区| 色综合色综合色综合| 一区二区三区丝袜| 欧美日韩国产在线播放网站| 天堂精品中文字幕在线| 日韩精品一区二区三区在线播放| 国内精品在线播放| 欧美国产禁国产网站cc| 色综合中文字幕| 日韩精品一二三| 精品国产百合女同互慰| 99这里只有久久精品视频| 一区2区3区在线看| 欧美一区二区三区四区久久| 激情丁香综合五月| 综合久久久久久| 这里是久久伊人| 成人午夜视频免费看| 亚洲激情图片一区| 精品国精品国产| www.在线欧美| 亚洲综合清纯丝袜自拍| 精品欧美乱码久久久久久1区2区 | 国产精品久久久久婷婷二区次| 91蜜桃在线观看| 久久er99热精品一区二区| 国产欧美视频一区二区| 色8久久人人97超碰香蕉987| 蜜桃一区二区三区在线| 国产精品素人一区二区| 欧美肥妇毛茸茸| av福利精品导航| 寂寞少妇一区二区三区| 亚洲精品午夜久久久| 欧美刺激脚交jootjob| 91丝袜美女网| 国产精品资源站在线| 偷窥国产亚洲免费视频| 国产日本欧美一区二区| 日韩一区二区电影网| 色av成人天堂桃色av| 国产成人免费视频网站| 日韩福利电影在线| 亚洲激情中文1区| 国产精品嫩草99a| 欧美videofree性高清杂交| 欧美影视一区二区三区| 成人短视频下载| 国内久久婷婷综合| 美国毛片一区二区三区| 午夜精品久久久久久久| 亚洲精品伦理在线| 最新欧美精品一区二区三区| 久久一二三国产| 日韩一区二区免费在线观看| 欧美三片在线视频观看| 91一区二区三区在线播放| 国产成人在线观看| 韩国三级在线一区| 久久99精品一区二区三区| 性欧美疯狂xxxxbbbb| 一区二区三区视频在线看| 亚洲欧美一区二区三区国产精品 | 精品人伦一区二区色婷婷| 欧美一区国产二区| 欧美高清视频不卡网| 欧美日韩亚洲不卡| 欧美日韩成人高清| 欧美丰满高潮xxxx喷水动漫| 欧美精品视频www在线观看| 欧美日韩一区二区在线视频| 色综合天天综合在线视频| 一本一道久久a久久精品| 色综合av在线| 在线观看网站黄不卡| 欧美午夜理伦三级在线观看| 91久久精品国产91性色tv| 在线亚洲一区二区| 欧美艳星brazzers| 制服.丝袜.亚洲.另类.中文 | 日韩精品成人一区二区三区| 亚洲一区二区三区四区五区黄| 亚洲免费在线视频一区 二区| 亚洲精品乱码久久久久| 亚洲高清免费视频| 日本不卡免费在线视频| 狠狠色丁香婷婷综合| 国产精品中文字幕一区二区三区| 国产成人精品亚洲午夜麻豆| 国产a精品视频| 色av成人天堂桃色av| 制服丝袜激情欧洲亚洲| 亚洲精品一区二区三区99| 亚洲国产成人私人影院tom| 亚洲天堂免费在线观看视频| 亚洲激情在线播放| 免费久久精品视频| 成人精品视频一区| 欧美日韩免费观看一区二区三区| 欧美丰满嫩嫩电影| 亚洲国产岛国毛片在线| 亚洲一区二区欧美激情| 久久成人18免费观看| 91在线无精精品入口| 在线视频一区二区三| 日韩久久免费av| 中文字幕日韩精品一区| 青青草视频一区| 波多野结衣91| 日韩欧美专区在线| 亚洲嫩草精品久久| 精品一区二区三区久久| 91精品1区2区| 精品sm在线观看| 亚洲无线码一区二区三区| 国产成人综合在线播放| 欧美在线一二三| 中文字幕国产一区| 琪琪久久久久日韩精品| 99在线热播精品免费| 日韩午夜三级在线| 亚洲日本成人在线观看| 久久99精品久久久久久久久久久久| 9i在线看片成人免费| 精品成a人在线观看| 亚洲午夜久久久| 99精品视频一区二区| 精品国产91久久久久久久妲己| 亚洲综合久久久| 91亚洲男人天堂| 日本一区二区三区电影| 另类小说一区二区三区| 欧美日韩国产一级二级| 自拍偷拍国产亚洲| 国产成人综合亚洲网站| 精品久久久久久综合日本欧美 | 免费观看成人av| 欧美性受xxxx黑人xyx性爽| 国产精品久久久久久妇女6080| 久久激情五月婷婷| 欧美欧美午夜aⅴ在线观看| 亚洲精品一二三| 97久久精品人人做人人爽| 国产欧美日韩三级| 国产盗摄一区二区三区| 精品国产精品网麻豆系列| 另类综合日韩欧美亚洲| 欧美一二区视频| 另类人妖一区二区av| 欧美电视剧免费观看| 美女视频黄 久久| 3d动漫精品啪啪1区2区免费| 午夜精品福利久久久| 欧美电影影音先锋| 丝袜亚洲另类丝袜在线| 欧美精品vⅰdeose4hd|