Fixed wrong nanosecond factor 10E6. - st - simple terminal HTML git clone https://git.parazyd.org/st DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit 19d095717f656d844cd9d696d9c921a0821a5ea7 DIR parent 5edeec1b20fcb5900d4f1408594d1e76b6c544f0 HTML Author: Ivan Delalande <colona@ycc.fr> Date: Thu, 26 Jun 2014 04:30:43 +0200 Fixed wrong nanosecond factor 10E6. Commit 5edeec1 introduced a wrong factor for nanosecond computation, the correct value is 1E6. Time and timeout values are 10 times less than they should be and this cause high CPU usage. Reported by pyroh on IRC. Thanks! Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com> Diffstat: M st.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --- DIR diff --git a/st.c b/st.c @@ -76,7 +76,7 @@ char *argv0; #define LIMIT(x, a, b) (x) = (x) < (a) ? (a) : (x) > (b) ? (b) : (x) #define ATTRCMP(a, b) ((a).mode != (b).mode || (a).fg != (b).fg || (a).bg != (b).bg) #define IS_SET(flag) ((term.mode & (flag)) != 0) -#define TIMEDIFF(t1, t2) ((t1.tv_sec-t2.tv_sec)*1000 + (t1.tv_nsec-t2.tv_nsec)/10E6) +#define TIMEDIFF(t1, t2) ((t1.tv_sec-t2.tv_sec)*1000 + (t1.tv_nsec-t2.tv_nsec)/1E6) #define CEIL(x) (((x) != (int) (x)) ? (x) + 1 : (x)) #define MODBIT(x, set, bit) ((set) ? ((x) |= (bit)) : ((x) &= ~(bit))) @@ -3753,7 +3753,7 @@ run(void) { clock_gettime(CLOCK_MONOTONIC, &now); drawtimeout.tv_sec = 0; - drawtimeout.tv_nsec = (1000/xfps) * 10E6; + drawtimeout.tv_nsec = (1000/xfps) * 1E6; tv = &drawtimeout; dodraw = 0; @@ -3790,7 +3790,7 @@ run(void) { > blinktimeout) { drawtimeout.tv_nsec = 1000; } else { - drawtimeout.tv_nsec = (10E6 * \ + drawtimeout.tv_nsec = (1E6 * \ (blinktimeout - \ TIMEDIFF(now, lastblink)));