summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0960
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0960')
-rw-r--r--data/vim/patches/8.1.0960127
1 files changed, 0 insertions, 127 deletions
diff --git a/data/vim/patches/8.1.0960 b/data/vim/patches/8.1.0960
deleted file mode 100644
index d0be8afe1..000000000
--- a/data/vim/patches/8.1.0960
+++ /dev/null
@@ -1,127 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.0960
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 8.1.0960
-Problem: When using ConPTY garbage collection has undefined behavior.
-Solution: Free the channel in a better way. (Nobuhiro Takasaki, closes #4020)
-Files: src/channel.c
-
-
-*** ../vim-8.1.0959/src/channel.c 2019-02-17 17:44:36.199875566 +0100
---- src/channel.c 2019-02-20 22:44:26.019845642 +0100
-***************
-*** 191,197 ****
-
- static int did_log_msg = TRUE;
-
-! #ifndef PROTO /* prototype is in vim.h */
- void
- ch_log(channel_T *ch, const char *fmt, ...)
- {
---- 191,197 ----
-
- static int did_log_msg = TRUE;
-
-! #ifndef PROTO // prototype is in proto.h
- void
- ch_log(channel_T *ch, const char *fmt, ...)
- {
-***************
-*** 4348,4367 ****
- {
- channel->ch_to_be_closed = (1U << PART_COUNT);
- channel_close_now(channel);
-! /* channel may have been freed, start over */
- channel = first_channel;
- continue;
- }
- if (channel->ch_to_be_freed || channel->ch_killing)
- {
- channel_free(channel);
-! /* channel has been freed, start over */
- channel = first_channel;
- continue;
- }
- if (channel->ch_refcount == 0 && !channel_still_useful(channel))
- {
-! /* channel is no longer useful, free it */
- channel_free(channel);
- channel = first_channel;
- part = PART_SOCK;
---- 4348,4372 ----
- {
- channel->ch_to_be_closed = (1U << PART_COUNT);
- channel_close_now(channel);
-! // channel may have been freed, start over
- channel = first_channel;
- continue;
- }
- if (channel->ch_to_be_freed || channel->ch_killing)
- {
-+ if (channel->ch_killing)
-+ {
-+ channel_free_contents(channel);
-+ channel->ch_job->jv_channel = NULL;
-+ }
- channel_free(channel);
-! // channel has been freed, start over
- channel = first_channel;
- continue;
- }
- if (channel->ch_refcount == 0 && !channel_still_useful(channel))
- {
-! // channel is no longer useful, free it
- channel_free(channel);
- channel = first_channel;
- part = PART_SOCK;
-***************
-*** 5487,5501 ****
- channel_need_redraw = TRUE;
- }
-
-! if (job->jv_channel != NULL
-! && job->jv_channel->ch_anonymous_pipe && !job->jv_channel->ch_killing)
-! {
-! ++safe_to_invoke_callback;
-! channel_free_contents(job->jv_channel);
-! job->jv_channel->ch_job = NULL;
-! job->jv_channel = NULL;
-! --safe_to_invoke_callback;
-! }
-
- // Do not free the job in case the close callback of the associated channel
- // isn't invoked yet and may get information by job_info().
---- 5492,5499 ----
- channel_need_redraw = TRUE;
- }
-
-! if (job->jv_channel != NULL && job->jv_channel->ch_anonymous_pipe)
-! job->jv_channel->ch_killing = TRUE;
-
- // Do not free the job in case the close callback of the associated channel
- // isn't invoked yet and may get information by job_info().
-*** ../vim-8.1.0959/src/version.c 2019-02-20 22:18:59.990044254 +0100
---- src/version.c 2019-02-20 22:43:03.024385639 +0100
-***************
-*** 781,782 ****
---- 781,784 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 960,
- /**/
-
---
-The average life of an organization chart is six months. You can safely
-ignore any order from your boss that would take six months to complete.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///