summaryrefslogtreecommitdiff
path: root/src/os_unix.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/os_unix.c')
-rw-r--r--src/os_unix.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/os_unix.c b/src/os_unix.c
index 99662218b..f33042675 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -417,10 +417,14 @@ mch_inchar(
handle_resize();
#ifdef MESSAGE_QUEUE
- parse_queued_messages();
- /* If input was put directly in typeahead buffer bail out here. */
- if (typebuf_changed(tb_change_cnt))
- return 0;
+ // Only process messages when waiting.
+ if (wtime != 0)
+ {
+ parse_queued_messages();
+ // If input was put directly in typeahead buffer bail out here.
+ if (typebuf_changed(tb_change_cnt))
+ return 0;
+ }
#endif
if (wtime < 0 && did_start_blocking)
/* blocking and already waited for p_ut */