main.c
changeset 302 3b11e32e8d7e
parent 295 7565875d07d3
child 309 204427dcc087
--- a/main.c	Wed Aug 16 09:05:58 2006 +0200
+++ b/main.c	Wed Aug 16 09:31:41 2006 +0200
@@ -18,11 +18,12 @@
 /* static */
 
 static int (*xerrorxlib)(Display *, XErrorEvent *);
-static Bool otherwm;
+static Bool otherwm, readin;
 
 static void
 cleanup()
 {
+	close(STDIN_FILENO);
 	while(sel) {
 		resize(sel, True, TopLeft);
 		unmanage(sel);
@@ -146,7 +147,7 @@
 void
 quit(Arg *arg)
 {
-	running = False;
+	readin = running = False;
 }
 
 /*
@@ -176,7 +177,6 @@
 	int i, j, xfd;
 	unsigned int mask;
 	fd_set rd;
-	Bool readin = True;
 	Window w;
 	XModifierKeymap *modmap;
 	XSetWindowAttributes wa;
@@ -279,6 +279,7 @@
 	/* main event loop, also reads status text from stdin */
 	XSync(dpy, False);
 	procevent();
+	readin = True;
 	while(running) {
 		FD_ZERO(&rd);
 		if(readin)