git: 9front

Download patch

ref: 68ab65a0783ece0c8b1190d411c66d45b03294b6
parent: 60dd9d6445beb7ae277e8e8e3865fdf99b35b79f
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Fri Feb 21 00:32:20 EST 2014

fork filter procs with RFREND in various programs

--- a/sys/src/cmd/cpu.c
+++ b/sys/src/cmd/cpu.c
@@ -301,7 +301,7 @@
 	if(pipe(p) < 0)
 		fatal("pipe: %r");
 
-	switch(rfork(RFPROC|RFMEM|RFFDG|RFNAMEG)) {
+	switch(rfork(RFPROC|RFMEM|RFFDG|RFNAMEG|RFREND)) {
 	case -1:
 		fatal("rfork srvold9p: %r");
 	case 0:
@@ -760,7 +760,7 @@
 	if(filterp == nil)
 		return fd;
 	procsetname("filter %s", filterp);
-	flags = RFNOWAIT|RFPROC|RFMEM|RFFDG;
+	flags = RFNOWAIT|RFPROC|RFMEM|RFFDG|RFREND;
 	if(host == nil){
 		/* remote side */
 		if(announce(anstring, addr) < 0)
--- a/sys/src/cmd/page.c
+++ b/sys/src/cmd/page.c
@@ -1404,7 +1404,7 @@
 		fd = dup(fd, -1);
 		seek(fd, 0, 0);
 	}
-	if(rfork(RFPROC|RFMEM|RFFDG|RFNOTEG|RFNOWAIT) == 0){
+	if(rfork(RFPROC|RFMEM|RFFDG|RFNOTEG|RFREND|RFNOWAIT) == 0){
 		if(newwindow(nil) != -1){
 			dupfds(fd, open("/dev/cons", OWRITE), open("/dev/cons", OWRITE), -1);
 			if((fd = open("/dev/label", OWRITE)) >= 0){
--- a/sys/src/cmd/paint.c
+++ b/sys/src/cmd/paint.c
@@ -562,7 +562,7 @@
 	va_end(a);
 	if(pipe(p) < 0)
 		return -1;
-	switch(rfork(RFPROC|RFMEM|RFFDG|RFNOTEG)){
+	switch(rfork(RFPROC|RFMEM|RFFDG|RFNOTEG|RFREND)){
 	case -1:
 		close(p[0]);
 		close(p[1]);
--