tApplying a shortening proposal for the run loop of k0ga. - st - [fork] customi… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 426887ccec8577ee33d1fb44f258d6a70a2eddf1 | |
parent 58a57a23051deba7c77901c9971d839a0db05db0 | |
Author: Christoph Lohmann <[email protected]> | |
Date: Sun, 16 Sep 2012 20:43:51 +0200 | |
Applying a shortening proposal for the run loop of k0ga. | |
Diffstat: | |
M st.c | 19 ++++++++----------- | |
1 file changed, 8 insertions(+), 11 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -2329,13 +2329,13 @@ run(void) { | |
XEvent ev; | |
fd_set rfd; | |
int xfd = XConnectionNumber(xw.dpy), i; | |
- struct timeval drawtimeout; | |
+ struct timeval drawtimeout, *tv = NULL; | |
- for(;;) { | |
+ for(i = 0;; i++) { | |
FD_ZERO(&rfd); | |
FD_SET(cmdfd, &rfd); | |
FD_SET(xfd, &rfd); | |
- if(select(MAX(xfd, cmdfd)+1, &rfd, NULL, NULL, NULL) < 0) { | |
+ if(select(MAX(xfd, cmdfd)+1, &rfd, NULL, NULL, tv) < 0) { | |
if(errno == EINTR) | |
continue; | |
die("select failed: %s\n", SERRNO); | |
t@@ -2345,23 +2345,20 @@ run(void) { | |
* Stop after a certain number of reads so the user does not | |
* feel like the system is stuttering. | |
*/ | |
- for(i = 0; i < 1000 && FD_ISSET(cmdfd, &rfd); i++) { | |
+ if(i < 1000 && FD_ISSET(cmdfd, &rfd)) { | |
ttyread(); | |
- FD_ZERO(&rfd); | |
- FD_SET(cmdfd, &rfd); | |
/* | |
* Just wait a bit so it isn't disturbing the | |
* user and the system is able to write something. | |
*/ | |
drawtimeout.tv_sec = 0; | |
drawtimeout.tv_usec = 5; | |
- if(select(cmdfd+1, &rfd, NULL, NULL, &drawtimeout) < 0… | |
- if(errno == EINTR) | |
- continue; | |
- die("select failed: %s\n", SERRNO); | |
- } | |
+ tv = &drawtimeout; | |
+ continue; | |
} | |
+ i = 0; | |
+ tv = NULL; | |
while(XPending(xw.dpy)) { | |
XNextEvent(xw.dpy, &ev); |