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

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

?? exit.c

?? linux 0.11源代碼
?? C
字號:
/* *  linux/kernel/exit.c * *  (C) 1991  Linus Torvalds */#include <errno.h>#include <signal.h>#include <sys/wait.h>#include <linux/sched.h>#include <linux/kernel.h>#include <linux/tty.h>#include <asm/segment.h>int sys_pause(void);int sys_close(int fd);void release(struct task_struct * p){	int i;	if (!p)		return;	for (i=1 ; i<NR_TASKS ; i++)		if (task[i]==p) {			task[i]=NULL;			free_page((long)p);			schedule();			return;		}	panic("trying to release non-existent task");}static inline int send_sig(long sig,struct task_struct * p,int priv){	if (!p || sig<1 || sig>32)		return -EINVAL;	if (priv || (current->euid==p->euid) || suser())		p->signal |= (1<<(sig-1));	else		return -EPERM;	return 0;}static void kill_session(void){	struct task_struct **p = NR_TASKS + task;		while (--p > &FIRST_TASK) {		if (*p && (*p)->session == current->session)			(*p)->signal |= 1<<(SIGHUP-1);	}}/* * XXX need to check permissions needed to send signals to process * groups, etc. etc.  kill() permissions semantics are tricky! */int sys_kill(int pid,int sig){	struct task_struct **p = NR_TASKS + task;	int err, retval = 0;	if (!pid) while (--p > &FIRST_TASK) {		if (*p && (*p)->pgrp == current->pid) 			if (err=send_sig(sig,*p,1))				retval = err;	} else if (pid>0) while (--p > &FIRST_TASK) {		if (*p && (*p)->pid == pid) 			if (err=send_sig(sig,*p,0))				retval = err;	} else if (pid == -1) while (--p > &FIRST_TASK)		if (err = send_sig(sig,*p,0))			retval = err;	else while (--p > &FIRST_TASK)		if (*p && (*p)->pgrp == -pid)			if (err = send_sig(sig,*p,0))				retval = err;	return retval;}static void tell_father(int pid){	int i;	if (pid)		for (i=0;i<NR_TASKS;i++) {			if (!task[i])				continue;			if (task[i]->pid != pid)				continue;			task[i]->signal |= (1<<(SIGCHLD-1));			return;		}/* if we don't find any fathers, we just release ourselves *//* This is not really OK. Must change it to make father 1 */	printk("BAD BAD - no father found\n\r");	release(current);}int do_exit(long code){	int i;	free_page_tables(get_base(current->ldt[1]),get_limit(0x0f));	free_page_tables(get_base(current->ldt[2]),get_limit(0x17));	for (i=0 ; i<NR_TASKS ; i++)		if (task[i] && task[i]->father == current->pid) {			task[i]->father = 1;			if (task[i]->state == TASK_ZOMBIE)				/* assumption task[1] is always init */				(void) send_sig(SIGCHLD, task[1], 1);		}	for (i=0 ; i<NR_OPEN ; i++)		if (current->filp[i])			sys_close(i);	iput(current->pwd);	current->pwd=NULL;	iput(current->root);	current->root=NULL;	iput(current->executable);	current->executable=NULL;	if (current->leader && current->tty >= 0)		tty_table[current->tty].pgrp = 0;	if (last_task_used_math == current)		last_task_used_math = NULL;	if (current->leader)		kill_session();	current->state = TASK_ZOMBIE;	current->exit_code = code;	tell_father(current->father);	schedule();	return (-1);	/* just to suppress warnings */}int sys_exit(int error_code){	return do_exit((error_code&0xff)<<8);}int sys_waitpid(pid_t pid,unsigned long * stat_addr, int options){	int flag, code;	struct task_struct ** p;	verify_area(stat_addr,4);repeat:	flag=0;	for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) {		if (!*p || *p == current)			continue;		if ((*p)->father != current->pid)			continue;		if (pid>0) {			if ((*p)->pid != pid)				continue;		} else if (!pid) {			if ((*p)->pgrp != current->pgrp)				continue;		} else if (pid != -1) {			if ((*p)->pgrp != -pid)				continue;		}		switch ((*p)->state) {			case TASK_STOPPED:				if (!(options & WUNTRACED))					continue;				put_fs_long(0x7f,stat_addr);				return (*p)->pid;			case TASK_ZOMBIE:				current->cutime += (*p)->utime;				current->cstime += (*p)->stime;				flag = (*p)->pid;				code = (*p)->exit_code;				release(*p);				put_fs_long(code,stat_addr);				return flag;			default:				flag=1;				continue;		}	}	if (flag) {		if (options & WNOHANG)			return 0;		current->state=TASK_INTERRUPTIBLE;		schedule();		if (!(current->signal &= ~(1<<(SIGCHLD-1))))			goto repeat;		else			return -EINTR;	}	return -ECHILD;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久国产精麻豆99网站| 麻豆91在线播放| 最新欧美精品一区二区三区| 国产盗摄女厕一区二区三区| 久久久久综合网| 国产mv日韩mv欧美| 亚洲男人的天堂网| 欧美一区二区三区影视| 精品亚洲成av人在线观看| 欧美激情一区不卡| 欧美日韩在线播放一区| 奇米一区二区三区av| 欧美国产一区在线| 国产精品电影院| 亚洲人成电影网站色mp4| 亚洲欧美激情小说另类| 一区二区三区av电影| 精品福利一区二区三区| 在线看国产一区二区| 国产在线视频一区二区三区| 亚洲成人动漫av| 国产欧美日韩精品一区| 精品人在线二区三区| 在线观看亚洲精品视频| 在线播放/欧美激情| 色综合网色综合| 国内成+人亚洲+欧美+综合在线 | 亚洲乱码国产乱码精品精小说 | 久久激情五月婷婷| 亚洲成av人片一区二区| 精品中文字幕一区二区| 99在线精品观看| 久久精品国产网站| 国产美女久久久久| 日本免费新一区视频| 日韩国产欧美视频| 成人国产精品免费观看| 国产一区二区在线视频| 色哟哟欧美精品| 成人激情午夜影院| 欧美日韩亚洲综合一区| 国产亚洲欧美日韩俺去了| 精品国产91九色蝌蚪| 亚洲黄色小说网站| 成人性生交大片免费看视频在线| 成人国产免费视频| 91 com成人网| 亚洲精品国产a| 国产成人福利片| 欧美成人aa大片| 亚洲午夜免费视频| 午夜成人在线视频| 麻豆国产一区二区| 91国在线观看| 欧美福利视频一区| 正在播放亚洲一区| 亚洲卡通动漫在线| 99精品一区二区三区| 色综合久久久久久久久| 久久综合狠狠综合| 中文字幕五月欧美| 国产精品一区在线观看你懂的| 顶级嫩模精品视频在线看| 欧美一区二区三区免费| 亚洲国产美女搞黄色| 色av一区二区| 日韩毛片一二三区| 日韩中文字幕亚洲一区二区va在线| 丝袜亚洲另类欧美综合| 色网站国产精品| 中文字幕一区二区三区在线观看| 国产成人免费视频| 国产偷国产偷精品高清尤物 | 91黄视频在线| 亚洲日本韩国一区| 91美女蜜桃在线| 欧美体内she精高潮| 日韩亚洲欧美一区二区三区| 国产精品污污网站在线观看| 亚洲欧美日韩国产中文在线| av亚洲精华国产精华精| 综合久久久久综合| 91福利国产成人精品照片| 亚洲男同性恋视频| 在线精品视频一区二区三四| 天堂久久一区二区三区| 日本一区二区视频在线观看| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲欧美一区二区不卡| 亚洲四区在线观看| 一区二区三区小说| 亚洲风情在线资源站| 蜜桃视频一区二区| 福利一区二区在线观看| 成人18精品视频| 91成人免费网站| 26uuuu精品一区二区| 欧美一级午夜免费电影| 2022国产精品视频| 亚洲女人****多毛耸耸8| 五月婷婷久久丁香| 国产精品12区| 欧美一级黄色片| 国产精品素人视频| 国产不卡视频一区二区三区| 成人福利视频在线| 亚洲色图色小说| 国产视频视频一区| 中文字幕亚洲一区二区av在线 | 有码一区二区三区| 午夜视频一区在线观看| 日韩亚洲欧美综合| 欧美日韩一区二区三区不卡| 日韩午夜在线播放| 亚洲一区二区五区| 久久精品免费观看| 亚洲丝袜制服诱惑| 精品国产免费人成电影在线观看四季| 日韩一区二区三区电影在线观看| 亚洲日韩欧美一区二区在线| 91极品视觉盛宴| 国产精品精品国产色婷婷| 91在线播放网址| 国产人久久人人人人爽| 久久99热国产| 一区二区三区影院| 色婷婷综合五月| 国产免费成人在线视频| 欧美三级视频在线观看| 亚洲国产精品v| 日韩精品中文字幕在线一区| 亚洲四区在线观看| 久久久影视传媒| 欧美一个色资源| 欧美日韩一区二区三区视频| 成人av资源网站| 国产盗摄精品一区二区三区在线| 五月婷婷综合激情| 亚洲成a人片在线观看中文| 中文字幕一区二区三区四区| 久久精品人人做| 久久先锋影音av| 精品国产乱码久久久久久浪潮| 欧美日韩一本到| 欧美日韩视频在线第一区 | 欧美三级电影一区| 91在线国产观看| 91最新地址在线播放| 成人一道本在线| 97精品电影院| 色婷婷综合久色| 91久久免费观看| 欧美日韩专区在线| 91精品国产一区二区三区香蕉| 欧美精品vⅰdeose4hd| 在线电影欧美成精品| 日韩一级视频免费观看在线| 91精品国产乱| 精品日韩在线观看| 亚洲精品一区二区三区在线观看| 精品久久国产97色综合| 久久久久久久网| 国产精品乱人伦一区二区| 亚洲人妖av一区二区| 亚洲欧美日韩久久| 麻豆视频观看网址久久| 国产揄拍国内精品对白| 国产成人久久精品77777最新版本| 国产精品一线二线三线精华| k8久久久一区二区三区| 欧美日韩一区二区三区视频| 日韩欧美国产一区二区在线播放| 久久先锋资源网| 伊人夜夜躁av伊人久久| 日韩电影免费在线看| 韩日欧美一区二区三区| www.亚洲国产| 欧美高清视频在线高清观看mv色露露十八 | 蜜臀久久99精品久久久久久9| 久久精品国产亚洲aⅴ| 东方aⅴ免费观看久久av| 欧美在线观看禁18| 欧美一区二区三区视频免费| 欧美国产综合一区二区| 午夜精品一区二区三区三上悠亚| 国产综合色视频| 一本久久a久久精品亚洲| 在线成人免费观看| 国产欧美日韩卡一| 日韩福利视频网| 不卡欧美aaaaa| 欧美一级xxx| 日韩久久一区二区| 久久这里只有精品首页| 精品在线观看视频| 欧美日韩一级片网站| 欧美精品一区二区三区在线播放| 亚洲欧美自拍偷拍色图| 久久国产欧美日韩精品| 日本韩国欧美在线|