diff options
| author | rsc <devnull@localhost> | 2003-09-30 17:47:42 +0000 |
|---|---|---|
| committer | rsc <devnull@localhost> | 2003-09-30 17:47:42 +0000 |
| commit | 76193d7cb0457807b2f0b95f909ab5de19480cd7 (patch) | |
| tree | 97e538c7e38181431e90289a0fe8b6b7ce1f8f3c /src/libthread/texec.c | |
| parent | ed7c8e8d02c02bdbff1e88a6d8d1419f39af48ad (diff) | |
| download | plan9port-76193d7cb0457807b2f0b95f909ab5de19480cd7.tar.gz plan9port-76193d7cb0457807b2f0b95f909ab5de19480cd7.zip | |
Initial revision
Diffstat (limited to 'src/libthread/texec.c')
| -rw-r--r-- | src/libthread/texec.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/libthread/texec.c b/src/libthread/texec.c new file mode 100644 index 00000000..9ba86827 --- /dev/null +++ b/src/libthread/texec.c @@ -0,0 +1,34 @@ +#include <lib9.h> +#include <thread.h> +extern int _threaddebuglevel; + +void +doexec(void *v) +{ + char **argv = v; + + procexec(nil, argv[0], argv); + sendp(threadwaitchan(), nil); +} + +void +threadmain(int argc, char **argv) +{ + Channel *c; + Waitmsg *w; + + ARGBEGIN{ + case 'D': + _threaddebuglevel = ~0; + break; + }ARGEND + + c = threadwaitchan(); + proccreate(doexec, argv, 8192); + w = recvp(c); + if(w == nil) + print("exec failed\n"); + else + print("%d %lu %lu %lu %s\n", w->pid, w->time[0], w->time[1], w->time[2], w->msg); + threadexits(nil); +} |
