about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAnselm R.Garbe <arg@10ksloc.org>2006-08-16 09:31:41 +0200
committerAnselm R.Garbe <arg@10ksloc.org>2006-08-16 09:31:41 +0200
commit727449d1e7840bae1700d722168a73def9738ccd (patch)
tree4b13a31a2b227b18bec7add7d4bbb3b904a528c4
parent80bf2aa5592da311fb712e63b66aeec560df2b56 (diff)
downloaddwm-727449d1e7840bae1700d722168a73def9738ccd.tar.gz
we close stdin as well
-rw-r--r--main.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/main.c b/main.c
index 545efe9..50fb9d7 100644
--- a/main.c
+++ b/main.c
@@ -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 @@ sendevent(Window w, Atom a, long value)
 void
 quit(Arg *arg)
 {
-	running = False;
+	readin = running = False;
 }
 
 /*
@@ -176,7 +177,6 @@ main(int argc, char *argv[])
 	int i, j, xfd;
 	unsigned int mask;
 	fd_set rd;
-	Bool readin = True;
 	Window w;
 	XModifierKeymap *modmap;
 	XSetWindowAttributes wa;
@@ -279,6 +279,7 @@ main(int argc, char *argv[])
 	/* main event loop, also reads status text from stdin */
 	XSync(dpy, False);
 	procevent();
+	readin = True;
 	while(running) {
 		FD_ZERO(&rd);
 		if(readin)