diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2016-05-25 11:00:54 +0200 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2016-05-25 11:00:54 +0200 |
commit | c74ce334f2f7c42dcd33bc5a0d1cc02b752733f6 (patch) | |
tree | 0c1696f84e8ff072709f843726fdedcb3c6cd48d /src/nvim/ex_docmd.c | |
parent | 1e22076a6561ae2dba820ff961795ddb571940ea (diff) | |
parent | 5cc87d4dabd02167117be7a978b5c8faaa975419 (diff) | |
download | rneovim-c74ce334f2f7c42dcd33bc5a0d1cc02b752733f6.tar.gz rneovim-c74ce334f2f7c42dcd33bc5a0d1cc02b752733f6.tar.bz2 rneovim-c74ce334f2f7c42dcd33bc5a0d1cc02b752733f6.zip |
Merge pull request #4624 from bfredl/timers
implement timers and process events during sleep
Diffstat (limited to 'src/nvim/ex_docmd.c')
-rw-r--r-- | src/nvim/ex_docmd.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index 870284a0f7..59962c153b 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -6989,10 +6989,10 @@ static void ex_sleep(exarg_T *eap) */ void do_sleep(long msec) { - long done; ui_flush(); // flush before waiting - for (done = 0; !got_int && done < msec; done += 1000L) { - os_delay(msec - done > 1000L ? 1000L : msec - done, true); + for (long left = msec; !got_int && left > 0; left -= 1000L) { + int next = left > 1000l ? 1000 : (int)left; + LOOP_PROCESS_EVENTS_UNTIL(&loop, loop.events, (int)next, got_int); os_breakcheck(); } } |