]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blob - vim/patches/vim-7.3.499.patch0
libpng: Update to 1.6.10.
[people/ms/ipfire-3.x.git] / vim / patches / vim-7.3.499.patch0
1 To: vim_dev@googlegroups.com
2 Subject: Patch 7.3.499
3 Fcc: outbox
4 From: Bram Moolenaar <Bram@moolenaar.net>
5 Mime-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8 ------------
9
10 Patch 7.3.499
11 Problem: When using any interface language when Vim is waiting for a child
12 process it gets confused by a child process started through the
13 interface.
14 Solution: Always used waitpid() instead of wait(). (Yasuhiro Matsumoto)
15 Files: src/os_unix.c
16
17
18 *** ../vim-7.3.498/src/os_unix.c 2012-02-05 22:51:27.000000000 +0100
19 --- src/os_unix.c 2012-04-20 15:47:17.000000000 +0200
20 ***************
21 *** 3734,3757 ****
22
23 while (wait_pid != child)
24 {
25 ! # ifdef _THREAD_SAFE
26 ! /* Ugly hack: when compiled with Python threads are probably
27 ! * used, in which case wait() sometimes hangs for no obvious
28 ! * reason. Use waitpid() instead and loop (like the GUI). */
29 ! # ifdef __NeXT__
30 wait_pid = wait4(child, status, WNOHANG, (struct rusage *)0);
31 ! # else
32 wait_pid = waitpid(child, status, WNOHANG);
33 ! # endif
34 if (wait_pid == 0)
35 {
36 /* Wait for 1/100 sec before trying again. */
37 mch_delay(10L, TRUE);
38 continue;
39 }
40 - # else
41 - wait_pid = wait(status);
42 - # endif
43 if (wait_pid <= 0
44 # ifdef ECHILD
45 && errno == ECHILD
46 --- 3734,3754 ----
47
48 while (wait_pid != child)
49 {
50 ! /* When compiled with Python threads are probably used, in which case
51 ! * wait() sometimes hangs for no obvious reason. Use waitpid()
52 ! * instead and loop (like the GUI). Also needed for other interfaces,
53 ! * they might call system(). */
54 ! # ifdef __NeXT__
55 wait_pid = wait4(child, status, WNOHANG, (struct rusage *)0);
56 ! # else
57 wait_pid = waitpid(child, status, WNOHANG);
58 ! # endif
59 if (wait_pid == 0)
60 {
61 /* Wait for 1/100 sec before trying again. */
62 mch_delay(10L, TRUE);
63 continue;
64 }
65 if (wait_pid <= 0
66 # ifdef ECHILD
67 && errno == ECHILD
68 *** ../vim-7.3.498/src/version.c 2012-04-20 13:46:02.000000000 +0200
69 --- src/version.c 2012-04-20 15:54:05.000000000 +0200
70 ***************
71 *** 716,717 ****
72 --- 716,719 ----
73 { /* Add new patch number below this line */
74 + /**/
75 + 499,
76 /**/
77
78 --
79 It's not hard to meet expenses, they're everywhere.
80
81 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
82 /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
83 \\\ an exciting new programming language -- http://www.Zimbu.org ///
84 \\\ help me help AIDS victims -- http://ICCF-Holland.org ///