Fixed lock up when system time jumps backwards - st - Simple Terminal
git clone git://r-36.net/st
Log
Files
Refs
README
LICENSE
---
commit 489982d4b8442af25a380f8c22be542055cda81f
parent 0f6942cdf6f8220f1ecd06e4b398e95c43833d44
Author: Rob Pilling 
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(-)
---
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;
                 }