git: 9front

Download patch

ref: 724a4b7e45bceec7707f3acca5130bcbd13fa9b5
parent: f8407a195dd97a7593faace5623f72d15c11fcb4
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);
 }
 
--