shithub: riscv

Download patch

ref: 340d83d49d659b53e711ab59d6e819be39a0ad16
parent: 7cfe4aef3c85aee813c2d3e712f94a319abba1c3
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sat Jan 30 14:11:33 EST 2016

games/doom: fix white window issue on exit

make kbdproc() and mouseproc() share fd table with the main proc
and not explicitely close the file descriptors. so /dev/mouse gets
closed *after* /dev/draw/new to avoid the white window refresh issue.

--- a/sys/src/games/doom/i_video.c
+++ b/sys/src/games/doom/i_video.c
@@ -46,13 +46,13 @@
 	center = addpt(screen->r.min, Pt(Dx(screen->r)/2, Dy(screen->r)/2));
 	grabout = insetrect(screen->r, Dx(screen->r)/8);
 
-	if((pid = rfork(RFPROC|RFMEM|RFFDG)) == 0){
+	if((pid = rfork(RFPROC|RFMEM)) == 0){
 		kbdproc();
 		exits(nil);
 	}
 	kbdpid = pid;
 
-	if((pid = rfork(RFPROC|RFMEM|RFFDG)) == 0){
+	if((pid = rfork(RFPROC|RFMEM)) == 0){
 		mouseproc();
 		exits(nil);
 	}
@@ -300,7 +300,6 @@
 		}
 		strcpy(buf2, buf);
 	}
-	close(kfd);
 }
 
 static void
@@ -356,6 +355,5 @@
 			break;
 		}
 	}
-	close(fd);
 }