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

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

?? pipe.c

?? unix v7是最后一個(gè)廣泛發(fā)布的研究型UNIX版本
?? C
字號:
#include "../h/param.h"#include "../h/systm.h"#include "../h/dir.h"#include "../h/user.h"#include "../h/inode.h"#include "../h/file.h"#include "../h/reg.h"/* * Max allowable buffering per pipe. * This is also the max size of the * file created to implement the pipe. * If this size is bigger than 5120, * pipes will be implemented with large * files, which is probably not good. */#define	PIPSIZ	4096/* * The sys-pipe entry. * Allocate an inode on the root device. * Allocate 2 file structures. * Put it all together with flags. */pipe(){	register struct inode *ip;	register struct file *rf, *wf;	int r;	ip = ialloc(pipedev);	if(ip == NULL)		return;	rf = falloc();	if(rf == NULL) {		iput(ip);		return;	}	r = u.u_r.r_val1;	wf = falloc();	if(wf == NULL) {		rf->f_count = 0;		u.u_ofile[r] = NULL;		iput(ip);		return;	}	u.u_r.r_val2 = u.u_r.r_val1;	u.u_r.r_val1 = r;	wf->f_flag = FWRITE|FPIPE;	wf->f_inode = ip;	rf->f_flag = FREAD|FPIPE;	rf->f_inode = ip;	ip->i_count = 2;	ip->i_mode = IFREG;	ip->i_flag = IACC|IUPD|ICHG;}/* * Read call directed to a pipe. */readp(fp)register struct file *fp;{	register struct inode *ip;	ip = fp->f_inode;loop:	/*	 * Very conservative locking.	 */	plock(ip);	/*	 * If nothing in the pipe, wait.	 */	if (ip->i_size == 0) {		/*		 * If there are not both reader and		 * writer active, return without		 * satisfying read.		 */		prele(ip);		if(ip->i_count < 2)			return;		ip->i_mode |= IREAD;		sleep((caddr_t)ip+2, PPIPE);		goto loop;	}	/*	 * Read and return	 */	u.u_offset = fp->f_un.f_offset;	readi(ip);	fp->f_un.f_offset = u.u_offset;	/*	 * If reader has caught up with writer, reset	 * offset and size to 0.	 */	if (fp->f_un.f_offset == ip->i_size) {		fp->f_un.f_offset = 0;		ip->i_size = 0;		if(ip->i_mode & IWRITE) {			ip->i_mode &= ~IWRITE;			wakeup((caddr_t)ip+1);		}	}	prele(ip);}/* * Write call directed to a pipe. */writep(fp)register struct file *fp;{	register c;	register struct inode *ip;	ip = fp->f_inode;	c = u.u_count;loop:	/*	 * If all done, return.	 */	plock(ip);	if(c == 0) {		prele(ip);		u.u_count = 0;		return;	}	/*	 * If there are not both read and	 * write sides of the pipe active,	 * return error and signal too.	 */	if(ip->i_count < 2) {		prele(ip);		u.u_error = EPIPE;		psignal(u.u_procp, SIGPIPE);		return;	}	/*	 * If the pipe is full,	 * wait for reads to deplete	 * and truncate it.	 */	if(ip->i_size >= PIPSIZ) {		ip->i_mode |= IWRITE;		prele(ip);		sleep((caddr_t)ip+1, PPIPE);		goto loop;	}	/*	 * Write what is possible and	 * loop back.	 * If writing less than PIPSIZ, it always goes.	 * One can therefore get a file > PIPSIZ if write	 * sizes do not divide PIPSIZ.	 */	u.u_offset = ip->i_size;	u.u_count = min((unsigned)c, (unsigned)PIPSIZ);	c -= u.u_count;	writei(ip);	prele(ip);	if(ip->i_mode&IREAD) {		ip->i_mode &= ~IREAD;		wakeup((caddr_t)ip+2);	}	goto loop;}/* * Lock a pipe. * If its already locked, * set the WANT bit and sleep. */plock(ip)register struct inode *ip;{	while(ip->i_flag&ILOCK) {		ip->i_flag |= IWANT;		sleep((caddr_t)ip, PINOD);	}	ip->i_flag |= ILOCK;}/* * Unlock a pipe. * If WANT bit is on, * wakeup. * This routine is also used * to unlock inodes in general. */prele(ip)register struct inode *ip;{	ip->i_flag &= ~ILOCK;	if(ip->i_flag&IWANT) {		ip->i_flag &= ~IWANT;		wakeup((caddr_t)ip);	}}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产激情精品久久久第一区二区| 国产精品久久久久影院色老大| 成人黄色国产精品网站大全在线免费观看 | 日韩不卡免费视频| 亚洲伊人伊色伊影伊综合网| 国产精品久久久久影院亚瑟| 国产精品久线在线观看| 国产精品国产自产拍在线| 欧美精品一区二区蜜臀亚洲| 久久人人爽爽爽人久久久| 久久在线免费观看| 国产精品系列在线| 18欧美亚洲精品| 亚洲成人一区在线| 麻豆国产精品视频| 国产尤物一区二区在线| jvid福利写真一区二区三区| 不卡一区二区三区四区| 日本韩国欧美在线| 欧美一区二区视频网站| 精品成人佐山爱一区二区| 国产亚洲精品aa| 中文字幕日本乱码精品影院| 亚洲激情第一区| 奇米888四色在线精品| 国内一区二区在线| aaa亚洲精品| 91精品国产综合久久久久| 精品国产伦一区二区三区观看方式| 久久精品在线免费观看| 日韩美女视频一区二区 | 精品少妇一区二区三区日产乱码| 欧美成人三级在线| 国产精品视频麻豆| 久久久噜噜噜久久人人看 | 99久久精品费精品国产一区二区| 国内精品伊人久久久久影院对白| 成人av资源网站| 3d成人动漫网站| 欧美精品一区二区久久婷婷| www激情久久| 亚洲第一久久影院| 狠狠色狠狠色综合| 91成人免费电影| 久久九九国产精品| 婷婷久久综合九色国产成人| 青青草一区二区三区| jlzzjlzz亚洲女人18| 日韩三级免费观看| 亚洲乱码一区二区三区在线观看| 久久精品免费看| 国产91精品入口| 91亚洲国产成人精品一区二三| 欧美一区二区成人6969| 欧美极品美女视频| 毛片av一区二区| 日本精品裸体写真集在线观看| 久久亚洲一区二区三区四区| 亚洲国产美国国产综合一区二区| 国内精品伊人久久久久av影院| 欧美三级午夜理伦三级中视频| 日本一区二区三区四区在线视频| 日韩国产精品久久久久久亚洲| 91同城在线观看| 国产区在线观看成人精品| 男男gaygay亚洲| 欧美精品乱码久久久久久按摩| 国产清纯美女被跳蛋高潮一区二区久久w | 国产不卡在线视频| 欧美成人精品福利| 青青国产91久久久久久| 欧美日本精品一区二区三区| 亚洲综合成人网| 91视频在线观看免费| 国产精品成人一区二区艾草 | 国产精品久久久久影院亚瑟| 国产一区91精品张津瑜| 日韩精品一区二区三区视频在线观看| 亚洲成人黄色影院| 欧美日韩你懂的| 天堂资源在线中文精品| 欧美日韩电影在线| 首页欧美精品中文字幕| 欧美日韩一区二区三区不卡| 一区二区三区91| 欧美视频一区在线| 五月天久久比比资源色| 成人免费视频一区| 亚洲另类中文字| 91欧美一区二区| 亚洲成精国产精品女| 欧美日本国产视频| 美女在线视频一区| 亚洲少妇中出一区| 欧洲视频一区二区| 日韩av一级片| 欧美韩国日本综合| 欧美无人高清视频在线观看| 亚洲欧美激情小说另类| 在线视频亚洲一区| 日韩国产欧美在线视频| 欧美一级欧美三级| 激情伊人五月天久久综合| 国产欧美精品一区二区色综合| 成人v精品蜜桃久久一区| 日韩理论片在线| 色婷婷亚洲综合| 蜜桃视频在线观看一区二区| 国产欧美一区二区三区沐欲| 色噜噜狠狠色综合欧洲selulu| 男女视频一区二区| 中文字幕av一区二区三区免费看| 91行情网站电视在线观看高清版| 毛片不卡一区二区| 一区二区三区加勒比av| 欧美mv日韩mv国产| 色狠狠桃花综合| 国产制服丝袜一区| 亚洲国产美女搞黄色| 国产精品视频一区二区三区不卡| 欧美羞羞免费网站| 成人性生交大片免费看在线播放| 亚洲国产va精品久久久不卡综合| 精品国产乱码久久| 欧美丝袜自拍制服另类| 99亚偷拍自图区亚洲| 国产91精品一区二区麻豆网站| 亚洲午夜影视影院在线观看| 国产日韩综合av| 欧美日韩在线直播| 北条麻妃一区二区三区| 久久激情五月激情| 亚洲va中文字幕| 久久久久久亚洲综合| 制服丝袜国产精品| 欧美又粗又大又爽| 91视视频在线观看入口直接观看www | 国产精品大尺度| 久久久久国产精品麻豆ai换脸| 欧美日本一区二区三区四区 | 欧美夫妻性生活| 一本色道a无线码一区v| www.欧美精品一二区| 久久66热偷产精品| 五月激情综合色| 肉肉av福利一精品导航| 亚洲一区二区三区视频在线| 亚洲精品中文在线影院| 最新国产精品久久精品| 国产精品久久久久影院老司| 欧美韩日一区二区三区四区| 国产欧美一二三区| 国产日韩欧美综合一区| 26uuu国产一区二区三区| 制服丝袜在线91| 91麻豆精品91久久久久同性| 欧美日韩一级大片网址| 欧洲亚洲精品在线| 欧美色精品天天在线观看视频| 欧美三电影在线| 色天使色偷偷av一区二区| 在线视频你懂得一区二区三区| 91丨porny丨户外露出| 欧美视频一区二区三区四区| 欧美日韩一区高清| 日韩一区二区麻豆国产| 欧美zozo另类异族| 中文字幕欧美三区| 一区二区三区在线视频免费| 性做久久久久久久久| 久久精品国产精品亚洲红杏| 韩国一区二区在线观看| 成人av综合在线| 欧美性色aⅴ视频一区日韩精品| 欧美精品欧美精品系列| 欧美成人精品高清在线播放 | 亚洲国产成人91porn| 奇米精品一区二区三区四区 | 成人免费看黄yyy456| 91色乱码一区二区三区| 在线综合亚洲欧美在线视频| 精品黑人一区二区三区久久| 欧美激情一区二区三区蜜桃视频| 一区二区三区日韩| 久久福利视频一区二区| av亚洲精华国产精华精| 日韩亚洲电影在线| 中文字幕欧美一区| 男人操女人的视频在线观看欧美| 国产成人亚洲综合a∨婷婷 | 另类小说综合欧美亚洲| 岛国av在线一区| 91超碰这里只有精品国产| 国产日韩欧美高清| 亚洲五月六月丁香激情| 国产jizzjizz一区二区| 欧美日韩午夜精品| √…a在线天堂一区| 久久精品国产**网站演员| 色婷婷av一区|