| #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); | |
| } |