commit 005a85f3a2ef85ec1a64ce05a486c84e25cf6f94 from: rsc date: Fri Jan 07 08:02:54 2005 UTC success on the sun commit - c345061e8d81a737b2926da7ecad4b4389677fe8 commit + 005a85f3a2ef85ec1a64ce05a486c84e25cf6f94 blob - 3a4dd2c32f0351c289cf914b0f0a6697263e652f blob + 986604831eace948e2556bb96ce0cef6d9a89308 --- src/cmd/rc/unixcrap.c +++ src/cmd/rc/unixcrap.c @@ -17,13 +17,29 @@ static int rlx[] = { 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 @@ -82,7 +82,11 @@ _await(int pid4, char *str, int n, int opt) 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 @@ -10,6 +10,7 @@ post9pservice(int fd, char *name) if((ns = getns()) == nil) return -1; + s = smprint("unix!%s/%s", ns, name); free(ns); if(s == nil) @@ -27,6 +28,8 @@ post9pservice(int fd, char *name) _exits("exec"); default: w = wait(); + if(w == nil) + return -1; close(fd); free(s); if(w->msg && w->msg[0]){