Fixed lock up when system time jumps backwards - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 489982d4b8442af25a380f8c22be542055cda81f
 (DIR) parent 0f6942cdf6f8220f1ecd06e4b398e95c43833d44
 (HTM) Author: Rob Pilling <rob@egbert>
       Date:   Wed, 19 Jun 2013 21:24:01 +0100
       
       Fixed lock up when system time jumps backwards
       
       Signed-off-by: Christoph Lohmann <20h@r-36.net>
       
       Diffstat:
         M st.c                                |       7 +++++--
       
       1 file changed, 5 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -3687,6 +3687,8 @@ run(void) {
                gettimeofday(&last, NULL);
        
                for(xev = actionfps;;) {
       +                long deltatime;
       +
                        FD_ZERO(&rfd);
                        FD_SET(cmdfd, &rfd);
                        FD_SET(xfd, &rfd);
       @@ -3720,8 +3722,9 @@ run(void) {
                                gettimeofday(&lastblink, NULL);
                                dodraw = 1;
                        }
       -                if(TIMEDIFF(now, last) \
       -                                > (xev? (1000/xfps) : (1000/actionfps))) {
       +                deltatime = TIMEDIFF(now, last);
       +                if(deltatime > (xev? (1000/xfps) : (1000/actionfps))
       +                                || deltatime < 0) {
                                dodraw = 1;
                                last = now;
                        }