summaryrefslogtreecommitdiff
path: root/sys/src/cmd/cwfs/proc.c
blob: 492200c140b9ba88fbce81d67d5a7afc893663d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "all.h"
#include "io.h"

void
newproc(void (*f)(void *), void *arg, char *text)
{
	int kid = rfork(RFPROC|RFMEM|RFNOWAIT);

	if (kid < 0)
		sysfatal("can't fork: %r");
	if (kid == 0) {
		procsetname("%s", text);
		(*f)(arg);
		exits("child returned");
	}
}