Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature_tlsv12/sys/src/cmd/unix/drawterm/kern/procinit.c – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include "u.h"
2
#include "lib.h"
3
#include "dat.h"
4
#include "fns.h"
5
#include "error.h"
6
 
7
Rgrp *thergrp;
8
 
9
void
10
procinit0(void)
11
{
12
	Proc *p;
13
 
14
	p = newproc();
15
	p->fgrp = dupfgrp(nil);
16
	p->rgrp = newrgrp();
17
	p->pgrp = newpgrp();
18
	_setproc(p);
19
 
20
	up->slash = namec("#/", Atodir, 0, 0);
21
	cnameclose(up->slash->name);
22
	up->slash->name = newcname("/");
23
	up->dot = cclone(up->slash);
24
}
25
 
26
Ref pidref;
27
 
28
Proc*
29
newproc(void)
30
{
31
	Proc *p;
32
 
33
	p = mallocz(sizeof(Proc), 1);
34
	p->pid = incref(&pidref);
35
	strcpy(p->user, eve);
36
	p->syserrstr = p->errbuf0;
37
	p->errstr = p->errbuf1;
38
	strcpy(p->text, "drawterm");
39
	osnewproc(p);
40
	return p;
41
}
42
 
43
int
44
kproc(char *name, void (*fn)(void*), void *arg)
45
{
46
	Proc *p;
47
 
48
	p = newproc();
49
	p->fn = fn;
50
	p->arg = arg;
51
	p->slash = cclone(up->slash);
52
	p->dot = cclone(up->dot);
53
	p->rgrp = up->rgrp;
54
	if(p->rgrp)
55
		incref(&p->rgrp->ref);
56
	p->pgrp = up->pgrp;
57
	if(up->pgrp)
58
		incref(&up->pgrp->ref);
59
	p->fgrp = up->fgrp;
60
	if(p->fgrp)
61
		incref(&p->fgrp->ref);
62
	strecpy(p->text, p->text+sizeof p->text, name);
63
 
64
	osproc(p);
65
	return p->pid;
66
}
67