Introduction
Introduction Statistics Contact Development Disclaimer Help
tnew test program - plan9port - [fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port
Log
Files
Refs
README
LICENSE
---
commit 793d93626b7d01ff47e1c0b483e25ccf894ccb51
parent ba15d71b0cf27ba89d14b547d7ded643e5de6a01
Author: rsc <devnull@localhost>
Date: Fri, 22 Oct 2004 17:15:47 +0000
new test program
Diffstat:
A src/libthread/tspawn.c | 41 +++++++++++++++++++++++++++++…
1 file changed, 41 insertions(+), 0 deletions(-)
---
diff --git a/src/libthread/tspawn.c b/src/libthread/tspawn.c
t@@ -0,0 +1,41 @@
+#include <lib9.h>
+#include <thread.h>
+extern int _threaddebuglevel;
+
+void
+doexec(void *v)
+{
+ int fd[3];
+ char **argv = v;
+
+ print("exec failed: %r\n");
+ sendp(threadwaitchan(), nil);
+ threadexits(nil);
+}
+
+void
+threadmain(int argc, char **argv)
+{
+ int fd[3];
+ Channel *c;
+ Waitmsg *w;
+
+ ARGBEGIN{
+ case 'D':
+ _threaddebuglevel = ~0;
+ break;
+ }ARGEND
+
+ c = threadwaitchan();
+ fd[0] = dup(0, -1);
+ fd[1] = dup(1, -1);
+ fd[2] = dup(2, -1);
+ if(threadspawn(fd, argv[0], argv) < 0)
+ sysfatal("threadspawn: %r");
+ w = recvp(c);
+ if(w == nil)
+ print("exec/recvp failed: %r\n");
+ else
+ print("%d %lud %lud %lud %s\n", w->pid, w->time[0], w->time[1]…
+ threadexits(nil);
+}
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.