From 958dc6923d341390531888058495569d73c356c3 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 1 Dec 2016 15:34:12 +0100 Subject: patch 8.0.0107 Problem: When reading channel output in a timer, messages may go missing. (Skywind) Solution: Add the "drop" option. Write error messages in the channel log. Don't have ch_canread() check for the channel being open. --- src/structs.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/structs.h') diff --git a/src/structs.h b/src/structs.h index 1b73e37c2..3fdfb5fcd 100644 --- a/src/structs.h +++ b/src/structs.h @@ -1474,6 +1474,7 @@ struct jsonq_S typval_T *jq_value; jsonq_T *jq_next; jsonq_T *jq_prev; + int jq_no_callback; /* TRUE when no callback was found */ }; struct cbq_S @@ -1597,6 +1598,7 @@ struct channel_S { partial_T *ch_partial; char_u *ch_close_cb; /* call when channel is closed */ partial_T *ch_close_partial; + int ch_drop_never; job_T *ch_job; /* Job that uses this channel; this does not * count as a reference to avoid a circular @@ -1684,6 +1686,7 @@ typedef struct partial_T *jo_close_partial; /* not referenced! */ char_u *jo_exit_cb; /* not allocated! */ partial_T *jo_exit_partial; /* not referenced! */ + int jo_drop_never; int jo_waittime; int jo_timeout; int jo_out_timeout; -- cgit v1.2.1