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

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

?? exit.c

?? 這是一個(gè)linux011版本的源碼
?? 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;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产日韩一区二区| 狠狠色丁香久久婷婷综| 性感美女极品91精品| 欧美日韩国产三级| 在线观看国产精品网站| 国产精品白丝jk黑袜喷水| 9l国产精品久久久久麻豆| 91国产丝袜在线播放| 欧美精品免费视频| 国产亚洲精久久久久久| 亚洲精品videosex极品| 亚洲第一福利视频在线| 国内精品国产成人国产三级粉色| 成人国产精品免费| 欧美视频精品在线| 日本一区二区三区视频视频| 香蕉成人伊视频在线观看| 国产精品123| 欧美日韩国产美| 欧美韩日一区二区三区四区| 国产清纯白嫩初高生在线观看91| 亚洲精品videosex极品| 91麻豆精品在线观看| 欧美精品一区二区三| 美女网站视频久久| hitomi一区二区三区精品| 日韩一区二区视频在线观看| 国产精品久久久久一区二区三区| 青青国产91久久久久久| 91浏览器打开| 国产精品日日摸夜夜摸av| 老司机精品视频在线| 色噜噜久久综合| 欧美一区在线视频| 亚洲天堂成人网| 国产精品小仙女| 欧美tickling网站挠脚心| 亚洲国产精品一区二区久久| 成人激情动漫在线观看| 欧美成人国产一区二区| 三级在线观看一区二区| 在线视频一区二区三区| 国产精品伦一区| 日产国产欧美视频一区精品 | 黄网站免费久久| 欧美日韩国产一区| 一区二区三区四区不卡视频| 成av人片一区二区| 国产日韩高清在线| 国产河南妇女毛片精品久久久| 日韩欧美一区二区久久婷婷| 日韩制服丝袜av| 欧美日韩国产综合一区二区| 亚洲一线二线三线久久久| 暴力调教一区二区三区| 中文字幕在线观看一区| 波波电影院一区二区三区| 中文字幕日本乱码精品影院| 97精品久久久久中文字幕| 一区二区中文视频| 国产精品996| 国产视频视频一区| 成人av网在线| 亚洲精品精品亚洲| 成人avav在线| 日本一区二区三区免费乱视频| 久久99久久精品欧美| 久久久久国产成人精品亚洲午夜| 国产精品亚洲视频| 中文字幕视频一区| 欧美亚洲一区二区在线| 日韩制服丝袜先锋影音| 精品处破学生在线二十三| 国产成人精品综合在线观看| 亚洲色图丝袜美腿| 欧美性做爰猛烈叫床潮| 免费日本视频一区| 91官网在线观看| 久久国产精品色| 中文字幕av在线一区二区三区| a亚洲天堂av| 亚洲一区二区三区小说| 日韩精品自拍偷拍| 成人免费高清视频| 亚洲高清视频中文字幕| 一本一本久久a久久精品综合麻豆| 亚洲h动漫在线| www精品美女久久久tv| 91玉足脚交白嫩脚丫在线播放| 亚洲成人1区2区| 日韩午夜精品视频| fc2成人免费人成在线观看播放 | 国产精品视频在线看| 在线一区二区三区四区| 久久99精品久久久久久| 国产精品高潮呻吟久久| 欧美性猛交xxxxxxxx| 国产精品资源网| 亚洲一二三专区| 欧美国产精品一区二区| 欧美日韩视频在线第一区| 国产精品99久久久久久似苏梦涵| 亚洲欧洲精品一区二区三区| 91精品国产91久久久久久一区二区| 成人性视频免费网站| 免费日韩伦理电影| 亚洲精品欧美二区三区中文字幕| 欧美成人官网二区| 欧美三级在线看| 欧美日韩一区二区三区免费看 | 国产精品激情偷乱一区二区∴| 久久久久九九视频| 久久人人97超碰com| 久久伊人蜜桃av一区二区| 精品久久一区二区| 久久只精品国产| 国产亚洲美州欧州综合国| 国产欧美一区二区三区在线看蜜臀| 精品国产一区二区三区忘忧草| 欧美一区二区三区小说| 日韩免费观看高清完整版在线观看| 91精品国产乱| 日韩免费在线观看| 国产亚洲欧美在线| 中文一区一区三区高中清不卡| 国产日韩视频一区二区三区| 国产精品高潮呻吟| 亚洲精品国产一区二区精华液 | 欧美日韩精品一区二区天天拍小说| 欧美撒尿777hd撒尿| 欧美精品久久天天躁| 日韩午夜电影av| 久久先锋影音av| 国产精品麻豆欧美日韩ww| 亚洲日本青草视频在线怡红院| 亚洲精品国产成人久久av盗摄 | 美女一区二区久久| 国产精品一线二线三线| 97国产一区二区| 欧美日韩亚州综合| 日韩美女天天操| 国产欧美精品一区二区色综合 | 久久精品亚洲乱码伦伦中文 | 午夜影视日本亚洲欧洲精品| 另类调教123区| 成人黄色免费短视频| 色狠狠色噜噜噜综合网| 欧美一卡2卡3卡4卡| 国产欧美一区二区在线观看| 亚洲欧美日韩一区二区三区在线观看| 亚洲宅男天堂在线观看无病毒| 蜜臂av日日欢夜夜爽一区| 成人av在线一区二区三区| 欧美二区三区91| 国产精品卡一卡二卡三| 日韩成人午夜电影| av中文字幕一区| 日韩一区二区在线观看视频| 中文字幕一区二区5566日韩| 日韩成人午夜精品| 91亚洲精华国产精华精华液| 欧美va在线播放| 亚洲一区在线视频| 国产精品亚洲视频| 69堂精品视频| 亚洲男人天堂一区| 丁香六月综合激情| 欧美成人精品福利| 亚洲不卡在线观看| 99久久综合色| 久久精品免费在线观看| 日本不卡免费在线视频| 91在线观看一区二区| 精品av久久707| 日韩国产欧美视频| 欧洲一区二区三区在线| 国产精品美女一区二区| 国产乱人伦精品一区二区在线观看| 欧美色图激情小说| 国产精品电影院| 狠狠色综合日日| 日韩欧美专区在线| 日本午夜一区二区| 精品视频1区2区3区| 亚洲免费毛片网站| eeuss国产一区二区三区| 国产日韩精品一区| 国产精品一区二区在线观看不卡| 67194成人在线观看| 亚洲福利视频一区二区| 91久久一区二区| 亚洲日韩欧美一区二区在线| av在线不卡网| 中文字幕一区三区| 白白色 亚洲乱淫| 国产精品毛片久久久久久| 成人av在线一区二区三区| 国产精品久线在线观看| 99在线精品视频| 日韩伦理av电影|