Blame


1 1544f909 2004-12-25 devnull #include "u.h"
2 1544f909 2004-12-25 devnull #include "libc.h"
3 1544f909 2004-12-25 devnull #include "thread.h"
4 1544f909 2004-12-25 devnull
5 1544f909 2004-12-25 devnull void
6 1544f909 2004-12-25 devnull execproc(void *v)
7 1544f909 2004-12-25 devnull {
8 1544f909 2004-12-25 devnull int i, fd[3];
9 1544f909 2004-12-25 devnull char buf[100], *args[3];
10 1544f909 2004-12-25 devnull
11 0158bcee 2020-01-12 rsc i = (int)(uintptr)v;
12 1544f909 2004-12-25 devnull sprint(buf, "%d", i);
13 1544f909 2004-12-25 devnull fd[0] = dup(0, -1);
14 1544f909 2004-12-25 devnull fd[1] = dup(1, -1);
15 1544f909 2004-12-25 devnull fd[2] = dup(2, -1);
16 1544f909 2004-12-25 devnull args[0] = "echo";
17 1544f909 2004-12-25 devnull args[1] = buf;
18 1544f909 2004-12-25 devnull args[2] = nil;
19 1544f909 2004-12-25 devnull threadexec(nil, fd, args[0], args);
20 1544f909 2004-12-25 devnull }
21 f6127ed2 2005-01-04 devnull
22 1544f909 2004-12-25 devnull void
23 1544f909 2004-12-25 devnull threadmain(int argc, char **argv)
24 1544f909 2004-12-25 devnull {
25 1544f909 2004-12-25 devnull int i;
26 1544f909 2004-12-25 devnull Channel *c;
27 1544f909 2004-12-25 devnull Waitmsg *w;
28 1544f909 2004-12-25 devnull
29 1544f909 2004-12-25 devnull ARGBEGIN{
30 1544f909 2004-12-25 devnull case 'D':
31 1544f909 2004-12-25 devnull break;
32 1544f909 2004-12-25 devnull }ARGEND
33 1544f909 2004-12-25 devnull
34 1544f909 2004-12-25 devnull c = threadwaitchan();
35 1544f909 2004-12-25 devnull for(i=0;; i++){
36 0158bcee 2020-01-12 rsc proccreate(execproc, (void*)(uintptr)i, 16384);
37 1544f909 2004-12-25 devnull w = recvp(c);
38 1544f909 2004-12-25 devnull if(w == nil)
39 1544f909 2004-12-25 devnull sysfatal("exec/recvp failed: %r");
40 1544f909 2004-12-25 devnull }
41 1544f909 2004-12-25 devnull }