success on the sun
diff --git a/src/lib9/await.c b/src/lib9/await.c
index f0235a9..7d0ca91 100644
--- a/src/lib9/await.c
+++ b/src/lib9/await.c
@@ -82,7 +82,11 @@
ulong u, s;
for(;;){
- pid = wait4(pid4, &status, opt, &ru);
+ /* On Linux, pid==-1 means anyone; on SunOS, it's pid==0. */
+ if(pid4 == -1)
+ pid = wait3(&status, opt, &ru);
+ else
+ pid = wait4(pid4, &status, opt, &ru);
if(pid <= 0)
return -1;
u = ru.ru_utime.tv_sec*1000+((ru.ru_utime.tv_usec+500)/1000);
diff --git a/src/lib9/post9p.c b/src/lib9/post9p.c
index ddedf62..44c0943 100644
--- a/src/lib9/post9p.c
+++ b/src/lib9/post9p.c
@@ -10,6 +10,7 @@
if((ns = getns()) == nil)
return -1;
+
s = smprint("unix!%s/%s", ns, name);
free(ns);
if(s == nil)
@@ -27,6 +28,8 @@
_exits("exec");
default:
w = wait();
+ if(w == nil)
+ return -1;
close(fd);
free(s);
if(w->msg && w->msg[0]){