Removing an old select() regression. - st - Simple Terminal
       
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 678eff6e1882a888deda5e4e429df42c39b604fe
 (DIR) parent 8e968739c3cfc4e9f7088a9ea360bc4f37e9ad9f
 (HTM) Author: Christoph Lohmann <20h@r-36.net>
       Date:   Mon,  6 May 2013 19:50:14 +0200
       
       Removing an old select() regression.
       
       Diffstat:
         st.c                                |      26 ++++++++++++--------------
       
       1 file changed, 12 insertions(+), 14 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -3481,25 +3481,23 @@ run(void) {
                        FD_SET(cmdfd, &rfd);
                        FD_SET(xfd, &rfd);
        
       -                switch(select(MAX(xfd, cmdfd)+1, &rfd, NULL, NULL, tv) < 0) {
       -                case -1:
       +                if(select(MAX(xfd, cmdfd)+1, &rfd, NULL, NULL, tv) < 0) {
                                if(errno == EINTR)
                                        continue;
                                die("select failed: %s\n", SERRNO);
       -                default:
       -                        if(FD_ISSET(cmdfd, &rfd)) {
       -                                ttyread();
       -                                if(blinktimeout) {
       -                                        blinkset = tattrset(ATTR_BLINK);
       -                                        if(!blinkset && term.mode & ATTR_BLINK)
       -                                                term.mode &= ~(MODE_BLINK);
       -                                }
       +                }
       +                if(FD_ISSET(cmdfd, &rfd)) {
       +                        ttyread();
       +                        if(blinktimeout) {
       +                                blinkset = tattrset(ATTR_BLINK);
       +                                if(!blinkset && term.mode & ATTR_BLINK)
       +                                        term.mode &= ~(MODE_BLINK);
                                }
       -
       -                        if(FD_ISSET(xfd, &rfd))
       -                                xev = actionfps;
       -                        break;
                        }
       +
       +                if(FD_ISSET(xfd, &rfd))
       +                        xev = actionfps;
       +
                        gettimeofday(&now, NULL);
                        drawtimeout.tv_sec = 0;
                        drawtimeout.tv_usec = (1000/xfps) * 1000;