commit - c345061e8d81a737b2926da7ecad4b4389677fe8
commit + 005a85f3a2ef85ec1a64ce05a486c84e25cf6f94
blob - 3a4dd2c32f0351c289cf914b0f0a6697263e652f
blob + 986604831eace948e2556bb96ce0cef6d9a89308
--- src/cmd/rc/unixcrap.c
+++ src/cmd/rc/unixcrap.c
RLIMIT_CORE,
RLIMIT_DATA,
RLIMIT_FSIZE,
+#ifdef RLIMIT_MEMLOCK
RLIMIT_MEMLOCK,
+#else
+ 0,
+#endif
+#ifdef RLIMIT_RSS
RLIMIT_RSS,
+#else
+ 0,
+#endif
RLIMIT_NOFILE,
RLIMIT_STACK,
RLIMIT_CPU,
+#ifdef RLIMIT_NPROC
RLIMIT_NPROC,
+#else
+ 0,
+#endif
+#ifdef RLIMIT_RSS
RLIMIT_RSS,
+#else
+ 0,
+#endif
};
static void
blob - f0235a95d4b33307525654bae1ed0986460a1a4f
blob + 7d0ca916161abfcbd4246ef2dbe99d3abfe58920
--- src/lib9/await.c
+++ src/lib9/await.c
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);
blob - ddedf62e776601edc9ef08d04f3cb2cfe89d8640
blob + 44c094310dea8af005afd02d100706989e934e47
--- src/lib9/post9p.c
+++ src/lib9/post9p.c
if((ns = getns()) == nil)
return -1;
+
s = smprint("unix!%s/%s", ns, name);
free(ns);
if(s == nil)
_exits("exec");
default:
w = wait();
+ if(w == nil)
+ return -1;
close(fd);
free(s);
if(w->msg && w->msg[0]){