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

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

?? fp_test.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 <rtl.h>#include <pthread.h>#include <rtl_sched.h>#include <rtl_time.h>#include <rtl_fifo.h>#define MODULE_NAME	"fp_test"MODULE_AUTHOR("Nathan Paul Simons <npsimons@fsmlabs.com>");MODULE_DESCRIPTION("RTLinux floating point test kernel module");MODULE_PARM(fifo_sz, "i");MODULE_PARM_DESC(fifo_sz, "Size of FIFO.");MODULE_PARM(fifo_nr, "i");MODULE_PARM_DESC(fifo_nr,		 "RTL-FIFO number to create (ie, 0 -> /dev/rtf0)");int fifo_nr = 1, fifo_sz = 8192;float marker1 = 0;float marker2 = 0;float marker3 = 0;float marker4 = 0;static pthread_t thread1;static pthread_t thread2;static pthread_mutex_t fifo_lock;char *rtl_strerr(int thiserr){	switch (thiserr) {	case EINVAL:		return "EINVAL";	case EDEADLK:		return "EDEADLK";	case EPERM:		return "EPERM";	case -ENODEV:		return "-ENODEV";	case -EINVAL:		return "-EINVAL";	case -EPERM:		return "-EPERM";	case -ESRCH:		return "-ESRCH";	case -EFAULT:		return "-EFAULT";	case -EBUSY:		return "-EBUSY";	case -ENOMEM:		return "-ENOMEM";	case -ENOSPC:		return "-ENOSPC";	case -EAGAIN:		return "-EAGAIN";	default:		return "unknown error";	}}void *handler1(void *arg){	int retval;	struct sched_param my_sparam;	pthread_setfp_np(pthread_self(), 1);	my_sparam.sched_priority = 1;	if (	    (retval =	     pthread_setschedparam(pthread_self(), SCHED_FIFO,				   &my_sparam)) != 0) {		rtl_printf("%s: pthread_setschedparam(): %s\n",			   MODULE_NAME, rtl_strerr(retval));		return NULL;	}	pthread_make_periodic_np(pthread_self(),				 clock_gethrtime(CLOCK_REALTIME),				 50000000);	/* anybody recognize this value? ;) */	marker1 = 3.1415926535897932384626433832795;	marker3 = .25;	pthread_wait_np();	marker1 = marker3 * marker1;	marker3 = marker1 / .6578;	pthread_wait_np();	marker1 = marker1 + 2.30;	marker3 = marker3 - 2.30;	if ((retval = pthread_mutex_lock(&fifo_lock)) != 0) {		rtl_printf("%s: pthread_mutex_lock(&fifo_lock): %s\n",			   MODULE_NAME, rtl_strerr(retval));		return (void *) retval;	}	if ((retval = rtf_put(fifo_nr, "handler1:", 9)) < 9) {		rtl_printf("%s: rtf_put(%d, \"handler1:\", 9): %s\n",			   MODULE_NAME, fifo_nr, rtl_strerr(retval));		return (void *) retval;	}	if ((retval = rtf_put(fifo_nr, &marker1, sizeof(marker1))) <	    sizeof(marker1)) {		rtl_printf("%s: rtf_put(%d, marker1, %d): %s\n",			   MODULE_NAME, fifo_nr, sizeof(marker1),			   rtl_strerr(retval));		return (void *) retval;	}	if ((retval = rtf_put(fifo_nr, ":", 1)) < 1) {		rtl_printf("%s: rtf_put(%d, \":\", 1): %s\n",			   MODULE_NAME, fifo_nr, rtl_strerr(retval));		return (void *) retval;	}	if ((retval = rtf_put(fifo_nr, &marker3, sizeof(marker3))) <	    sizeof(marker3)) {		rtl_printf("%s: rtf_put(%d, marker3, %d): %s\n",			   MODULE_NAME, fifo_nr, sizeof(marker3),			   rtl_strerr(retval));		return (void *) retval;	}	if ((retval = rtf_put(fifo_nr, ":", 1)) < 1) {		rtl_printf("%s: rtf_put(%d, \":\", 1): %s\n",			   MODULE_NAME, fifo_nr, rtl_strerr(retval));		return (void *) retval;	}	if ((retval = pthread_mutex_unlock(&fifo_lock)) != 0) {		rtl_printf("%s: pthread_mutex_unlock(&fifo_lock): %s\n",			   MODULE_NAME, rtl_strerr(retval));		return (void *) retval;	}	return NULL;}void *handler2(void *arg){	int retval;	struct sched_param my_sparam;	pthread_setfp_np(pthread_self(), 1);	my_sparam.sched_priority = 2;	if (	    (retval =	     pthread_setschedparam(pthread_self(), SCHED_FIFO,				   &my_sparam)) != 0) {		rtl_printf("%s: pthread_setschedparam(): %s\n",			   MODULE_NAME, rtl_strerr(retval));		return NULL;	}	pthread_make_periodic_np(pthread_self(),				 clock_gethrtime(CLOCK_REALTIME),				 50000000);	/* this ones a little harder to recognize, but anyone with a grounding	 * in probability should know it. */	marker2 = 2.7182818284590452353602874713526;	pthread_wait_np();	marker4 = -.25;	pthread_wait_np();	marker2 = marker4 + .000001;	pthread_wait_np();	marker4 = marker4 - .001001;	pthread_wait_np();	marker2 = marker2 * .100001;	pthread_wait_np();	marker4 = marker2 / .101101;	pthread_wait_np();	if ((retval = pthread_mutex_lock(&fifo_lock)) != 0) {		rtl_printf("%s: pthread_mutex_lock(&fifo_lock): %s\n",			   MODULE_NAME, rtl_strerr(retval));		return (void *) retval;	}	if ((retval = rtf_put(fifo_nr, "handler2:", 9)) < 9) {		rtl_printf("%s: rtf_put(%d, \"handler2:\", 9): %s\n",			   MODULE_NAME, fifo_nr, rtl_strerr(retval));		return (void *) retval;	}	if ((retval = rtf_put(fifo_nr, &marker2, sizeof(marker2))) <	    sizeof(marker2)) {		rtl_printf("%s: rtf_put(%d, marker2, %d): %s\n",			   MODULE_NAME, fifo_nr, sizeof(marker2),			   rtl_strerr(retval));		return (void *) retval;	}	if ((retval = rtf_put(fifo_nr, ":", 1)) < 1) {		rtl_printf("%s: rtf_put(%d, \":\", 1): %s\n",			   MODULE_NAME, fifo_nr, rtl_strerr(retval));		return (void *) retval;	}	if ((retval = rtf_put(fifo_nr, &marker4, sizeof(marker4))) <	    sizeof(marker4)) {		rtl_printf("%s: rtf_put(%d, marker4, %d): %s\n",			   MODULE_NAME, fifo_nr, sizeof(marker4),			   rtl_strerr(retval));		return (void *) retval;	}	if ((retval = rtf_put(fifo_nr, ":", 1)) < 1) {		rtl_printf("%s: rtf_put(%d, \":\", 1): %s\n",			   MODULE_NAME, fifo_nr, rtl_strerr(retval));		return (void *) retval;	}	if ((retval = pthread_mutex_unlock(&fifo_lock)) != 0) {		rtl_printf("%s: pthread_mutex_unlock(&fifo_lock): %s\n",			   MODULE_NAME, rtl_strerr(retval));		return (void *) retval;	}	return NULL;}int init_module(void){	int retval;	pthread_mutex_init(&fifo_lock, NULL);	rtf_destroy(fifo_nr);	if ((retval = rtf_create(fifo_nr, fifo_sz)) != 0) {		rtl_printf("%s: rtf_create(%d, %d): %s\n", MODULE_NAME,			   fifo_nr, fifo_sz, rtl_strerr(retval));		return retval;	}	if ((retval = pthread_create(&thread1, NULL, handler1, 0))) {		rtl_printf		    ("%s: pthread_create(&thread1, NULL, handler1, 0): %s\n",		     MODULE_NAME, rtl_strerr(retval));		return retval;	}	if ((retval = pthread_create(&thread2, NULL, handler2, 0))) {		rtl_printf		    ("%s: pthread_create(&thread2, NULL, handler2, 0): %s\n",		     MODULE_NAME, rtl_strerr(retval));		return retval;	}	return 0;}void cleanup_module(void){	pthread_cancel(thread1);/*	pthread_join(thread1, NULL); */	pthread_cancel(thread2);/*	pthread_join(thread2, NULL); */}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本三级亚洲精品| eeuss影院一区二区三区| 亚洲日本韩国一区| 亚洲精品一区二区三区福利| 欧美午夜电影网| 色婷婷综合久久久中文一区二区 | 成人黄色小视频| 91丨porny丨户外露出| 欧美一区二区三区视频| 91色综合久久久久婷婷| 99久久久免费精品国产一区二区| 国模一区二区三区白浆| 久久成人羞羞网站| 黄色日韩网站视频| 国产精品自在欧美一区| 国产一区二区三区四区五区入口| 男女男精品视频网| 国产在线日韩欧美| 国内精品写真在线观看| 紧缚捆绑精品一区二区| 国产精品12区| 一本到不卡免费一区二区| 1024精品合集| 一区二区免费视频| 日韩和欧美一区二区| 毛片av中文字幕一区二区| 国产曰批免费观看久久久| 国产69精品久久久久777| 在线不卡免费欧美| 欧美日韩一区二区三区在线看| 欧洲精品在线观看| 日韩一级免费观看| 中文字幕一区二区三区精华液 | 久久久久久久网| 国产精品夫妻自拍| 风流少妇一区二区| 蜜芽一区二区三区| 99精品久久99久久久久| 91精品国产一区二区| 蜜桃视频在线一区| 韩国女主播成人在线| 91老师国产黑色丝袜在线| 欧美丰满少妇xxxbbb| 亚洲国产精品v| 久久66热偷产精品| 91精选在线观看| 亚洲人成在线观看一区二区| 欧美日韩一区久久| 亚洲精品乱码久久久久| av网站一区二区三区| 久久综合资源网| 日本vs亚洲vs韩国一区三区| 日本韩国欧美三级| 亚洲美女区一区| 日韩一区二区三区观看| 色综合久久综合| 亚洲欧洲国产专区| 成人午夜av在线| 国产偷国产偷精品高清尤物| 青娱乐精品视频在线| 555www色欧美视频| 麻豆专区一区二区三区四区五区| 欧美日韩中文一区| 亚洲成人免费影院| 欧美日韩精品免费| 人妖欧美一区二区| 日韩精品一区二区三区视频| 久久成人羞羞网站| 国产日韩欧美精品在线| 粉嫩一区二区三区性色av| 国产女人18水真多18精品一级做| 日韩美一区二区三区| 国产欧美一区二区精品忘忧草| 国产精一区二区三区| 国产日本欧美一区二区| 91视视频在线观看入口直接观看www | 一区二区视频在线看| 国产精品一区二区久激情瑜伽| 国产精品久久福利| 色先锋资源久久综合| 三级精品在线观看| 亚洲午夜久久久久久久久久久 | 4438x成人网最大色成网站| 香蕉久久一区二区不卡无毒影院 | 日韩精品一区二区三区视频播放| 日本aⅴ免费视频一区二区三区 | 亚洲宅男天堂在线观看无病毒| 欧美久久久久免费| 国产在线一区观看| 一区二区三区.www| 日韩三级电影网址| 日本道在线观看一区二区| 久久爱www久久做| 一区二区三区四区亚洲| 欧美精品一区二区久久久 | 99久久精品免费| 久久国产精品99久久久久久老狼 | 91小宝寻花一区二区三区| 久久成人麻豆午夜电影| 亚洲午夜精品在线| 亚洲免费视频中文字幕| 精品免费99久久| 欧美三区在线视频| 99久久精品久久久久久清纯| 国产一区二三区好的| 日本中文字幕一区| 亚洲一区中文日韩| 一区二区三区四区高清精品免费观看| 久久久久久97三级| 久久久九九九九| 久久久蜜臀国产一区二区| 日韩欧美一区在线| 欧美一二三区在线观看| 欧美日韩精品一区二区| 欧美色中文字幕| 日本伦理一区二区| 欧美三级电影精品| 在线成人高清不卡| 日韩免费一区二区| 精品国产污污免费网站入口| 精品少妇一区二区三区日产乱码| 欧美剧情电影在线观看完整版免费励志电影| 91欧美激情一区二区三区成人| 国产91富婆露脸刺激对白| 成人午夜精品一区二区三区| jlzzjlzz欧美大全| 欧美午夜一区二区三区| 欧美一区二区三区电影| 久久男人中文字幕资源站| 国产人妖乱国产精品人妖| 亚洲视频一区二区免费在线观看| 一区二区三区高清不卡| 看国产成人h片视频| 99精品视频在线播放观看| 欧美高清激情brazzers| 精品国产乱码久久久久久图片| 中文字幕一区在线| 秋霞午夜av一区二区三区| 国产69精品久久777的优势| 欧美性xxxxx极品少妇| 日韩精品一区二区三区在线播放| 国产精品久久久久久久久晋中| 婷婷中文字幕综合| av激情成人网| 亚洲免费伊人电影| 免费观看成人av| 欧美视频自拍偷拍| 综合av第一页| 国产成人在线视频网址| 日韩无一区二区| 日韩国产欧美在线视频| 日本国产一区二区| 综合网在线视频| 成人美女在线视频| 国产喂奶挤奶一区二区三区| 久久99精品国产.久久久久| 欧美日韩大陆一区二区| 亚洲日本在线视频观看| 不卡一区二区在线| 国产午夜精品在线观看| 国产福利一区二区三区在线视频| 精品国产在天天线2019| 美女免费视频一区| 欧美一区二区三区视频免费| 日韩在线a电影| 欧美一区二区三区不卡| 奇米888四色在线精品| 欧美伦理影视网| 日本va欧美va瓶| 久久―日本道色综合久久| 久久99精品国产.久久久久久| 精品少妇一区二区三区在线播放| 精品中文字幕一区二区| www久久精品| 成人午夜电影久久影院| 成人免费在线播放视频| 色老头久久综合| 日韩激情一区二区| 久久久久99精品一区| 97久久人人超碰| 日韩不卡免费视频| 国产欧美日韩视频一区二区| 94-欧美-setu| 天天操天天干天天综合网| 久久免费看少妇高潮| 91在线精品一区二区| 天堂成人国产精品一区| 久久亚洲欧美国产精品乐播| 91麻豆自制传媒国产之光| 日韩电影在线看| 伊人夜夜躁av伊人久久| 日韩欧美一级二级| 91丨九色丨尤物| 久久不见久久见中文字幕免费| 成人免费视频在线观看| 精品99一区二区三区| 色哟哟一区二区三区| 国产一区二区三区免费| 午夜精品福利一区二区三区av| 国产亚洲精品中文字幕|