URI:
       ttspawnloop.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       ttspawnloop.c (601B)
       ---
            1 #include "u.h"
            2 #include "libc.h"
            3 #include "thread.h"
            4 
            5 void
            6 execproc(void *v)
            7 {
            8         int i, fd[3];
            9         char buf[100], *args[3];
           10 
           11         i = (int)(uintptr)v;
           12         sprint(buf, "%d", i);
           13         fd[0] = dup(0, -1);
           14         fd[1] = dup(1, -1);
           15         fd[2] = dup(2, -1);
           16         args[0] = "echo";
           17         args[1] = buf;
           18         args[2] = nil;
           19         threadexec(nil, fd, args[0], args);
           20 }
           21 
           22 void
           23 threadmain(int argc, char **argv)
           24 {
           25         int i;
           26         Channel *c;
           27         Waitmsg *w;
           28 
           29         ARGBEGIN{
           30         case 'D':
           31                 break;
           32         }ARGEND
           33 
           34         c = threadwaitchan();
           35         for(i=0;; i++){
           36                 proccreate(execproc, (void*)(uintptr)i, 16384);
           37                 w = recvp(c);
           38                 if(w == nil)
           39                         sysfatal("exec/recvp failed: %r");
           40         }
           41 }