blob: 05636dc910fc2b1359ab144421a06531fc1d8313 [file] [log] [blame]
#include "u.h"
#include "libc.h"
#include "thread.h"
void
execproc(void *v)
{
int i, fd[3];
char buf[100], *args[3];
i = (int)v;
sprint(buf, "%d", i);
fd[0] = dup(0, -1);
fd[1] = dup(1, -1);
fd[2] = dup(2, -1);
args[0] = "echo";
args[1] = buf;
args[2] = nil;
threadexec(nil, fd, args[0], args);
}
void
threadmain(int argc, char **argv)
{
int i;
Channel *c;
Waitmsg *w;
ARGBEGIN{
case 'D':
break;
}ARGEND
c = threadwaitchan();
for(i=0;; i++){
proccreate(execproc, (void*)i, 16384);
w = recvp(c);
if(w == nil)
sysfatal("exec/recvp failed: %r");
}
}