wait.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 33 行

C
33
字号
#include <u.h>#include <libc.h>#include <fcall.h>Waitmsg*wait(void){	int n, l;	char buf[512], *fld[5];	Waitmsg *w;	n = await(buf, sizeof buf-1);	if(n < 0)		return nil;	buf[n] = '\0';	if(tokenize(buf, fld, nelem(fld)) != nelem(fld)){		werrstr("couldn't parse wait message");		return nil;	}	l = strlen(fld[4])+1;	w = malloc(sizeof(Waitmsg)+l);	if(w == nil)		return nil;	w->pid = atoi(fld[0]);	w->time[0] = atoi(fld[1]);	w->time[1] = atoi(fld[2]);	w->time[2] = atoi(fld[3]);	w->msg = (char*)&w[1];	memmove(w->msg, fld[4], l);	return w;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?