about summary refs log tree commit diff stats
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/main.c b/main.c
index 906505c..6ef9ea7 100644
--- a/main.c
+++ b/main.c
@@ -162,7 +162,7 @@ xerror(Display *dpy, XErrorEvent *ee)
 int
 main(int argc, char *argv[])
 {
-	int i;
+	int i, xfd;
 	unsigned int mask;
 	fd_set rd;
 	Bool readin = True;
@@ -181,6 +181,7 @@ main(int argc, char *argv[])
 	if(!dpy)
 		eprint("dwm: cannot open display\n");
 
+	xfd = ConnectionNumber(dpy);
 	screen = DefaultScreen(dpy);
 	root = RootWindow(dpy, screen);
 
@@ -260,15 +261,15 @@ main(int argc, char *argv[])
 		FD_ZERO(&rd);
 		if(readin)
 			FD_SET(STDIN_FILENO, &rd);
-		FD_SET(ConnectionNumber(dpy), &rd);
+		FD_SET(xfd, &rd);
 
-		i = select(ConnectionNumber(dpy) + 1, &rd, 0, 0, 0);
+		i = select(xfd + 1, &rd, 0, 0, 0);
 		if(i == -1 && errno == EINTR)
 			continue;
 		if(i < 0)
 			eprint("select failed\n");
 		else if(i > 0) {
-			if(FD_ISSET(ConnectionNumber(dpy), &rd)) {
+			if(FD_ISSET(xfd, &rd)) {
 				while(XPending(dpy)) {
 					XNextEvent(dpy, &ev);
 					if(handler[ev.type])