diff options
Diffstat (limited to 'source/ap/vim/patches/7.2.300')
-rw-r--r-- | source/ap/vim/patches/7.2.300 | 201 |
1 files changed, 0 insertions, 201 deletions
diff --git a/source/ap/vim/patches/7.2.300 b/source/ap/vim/patches/7.2.300 deleted file mode 100644 index f88035e6..00000000 --- a/source/ap/vim/patches/7.2.300 +++ /dev/null @@ -1,201 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.300 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.300 -Problem: Vim doesn't close file descriptors when forking and executing - another command, e.g., ":shell". -Solution: Use FD_CLOEXEC when available. (James Vega) -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/ex_cmdds2.c, src/fileio.c, src/memfile.c, src/memline.c - - -*** ../vim-7.2.299/src/auto/configure 2009-11-17 12:08:48.000000000 +0100 ---- src/auto/configure 2009-11-17 13:09:03.000000000 +0100 -*************** -*** 15174,15179 **** ---- 15174,15231 ---- - $as_echo "yes" >&6; } - fi - -+ { $as_echo "$as_me:$LINENO: checking for FD_CLOEXEC" >&5 -+ $as_echo_n "checking for FD_CLOEXEC... " >&6; } -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #if HAVE_FCNTL_H -+ # include <fcntl.h> -+ #endif -+ int -+ main () -+ { -+ int flag = FD_CLOEXEC; -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ { $as_echo "$as_me:$LINENO: result: yes" >&5 -+ $as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF -+ #define HAVE_FD_CLOEXEC 1 -+ _ACEOF -+ -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ { $as_echo "$as_me:$LINENO: result: not usable" >&5 -+ $as_echo "not usable" >&6; } -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ - { $as_echo "$as_me:$LINENO: checking for rename" >&5 - $as_echo_n "checking for rename... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -*** ../vim-7.2.299/src/config.h.in 2009-11-17 12:08:48.000000000 +0100 ---- src/config.h.in 2009-11-17 13:01:36.000000000 +0100 -*************** -*** 388,390 **** ---- 388,393 ---- - - /* Define if you want XSMP interaction as well as vanilla swapfile safety */ - #undef USE_XSMP_INTERACT -+ -+ /* Define if fcntl()'s F_SETFD command knows about FD_CLOEXEC */ -+ #undef HAVE_FD_CLOEXEC -*** ../vim-7.2.299/src/configure.in 2009-11-17 12:08:48.000000000 +0100 ---- src/configure.in 2009-11-17 13:01:36.000000000 +0100 -*************** -*** 2855,2860 **** ---- 2855,2870 ---- - AC_MSG_RESULT(yes) - fi - -+ dnl make sure the FD_CLOEXEC flag for fcntl()'s F_SETFD command is known -+ AC_MSG_CHECKING(for FD_CLOEXEC) -+ AC_TRY_COMPILE( -+ [#if HAVE_FCNTL_H -+ # include <fcntl.h> -+ #endif], -+ [ int flag = FD_CLOEXEC;], -+ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FD_CLOEXEC), -+ AC_MSG_RESULT(not usable)) -+ - dnl rename needs to be checked separately to work on Nextstep with cc - AC_MSG_CHECKING(for rename) - AC_TRY_LINK([#include <stdio.h>], [rename("this", "that")], -*** ../vim-7.2.299/src/fileio.c 2009-11-17 14:57:19.000000000 +0100 ---- src/fileio.c 2009-11-17 13:22:06.000000000 +0100 -*************** -*** 2254,2259 **** ---- 2254,2267 ---- - - if (!read_buffer && !read_stdin) - close(fd); /* errors are ignored */ -+ #ifdef HAVE_FD_CLOEXEC -+ else -+ { -+ int fdflags = fcntl(fd, F_GETFD); -+ if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0) -+ fcntl(fd, F_SETFD, fdflags | FD_CLOEXEC); -+ } -+ #endif - vim_free(buffer); - - #ifdef HAVE_DUP -*** ../vim-7.2.299/src/memfile.c 2008-07-13 19:39:39.000000000 +0200 ---- src/memfile.c 2009-11-17 13:22:15.000000000 +0100 -*************** -*** 1343,1348 **** ---- 1343,1353 ---- - } - else - { -+ #ifdef HAVE_FD_CLOEXEC -+ int fdflags = fcntl(mfp->mf_fd, F_GETFD); -+ if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0) -+ fcntl(mfp->mf_fd, F_SETFD, fdflags | FD_CLOEXEC); -+ #endif - #ifdef HAVE_SELINUX - mch_copy_sec(fname, mfp->mf_fname); - #endif -*** ../vim-7.2.299/src/memline.c 2009-11-03 15:32:58.000000000 +0100 ---- src/memline.c 2009-11-17 13:21:40.000000000 +0100 -*************** -*** 382,388 **** - dp->db_index[0] = --dp->db_txt_start; /* at end of block */ - dp->db_free -= 1 + INDEX_SIZE; - dp->db_line_count = 1; -! *((char_u *)dp + dp->db_txt_start) = NUL; /* emtpy line */ - - return OK; - ---- 382,388 ---- - dp->db_index[0] = --dp->db_txt_start; /* at end of block */ - dp->db_free -= 1 + INDEX_SIZE; - dp->db_line_count = 1; -! *((char_u *)dp + dp->db_txt_start) = NUL; /* empty line */ - - return OK; - -*************** -*** 490,495 **** ---- 490,502 ---- - EMSG(_("E301: Oops, lost the swap file!!!")); - return; - } -+ #ifdef HAVE_FD_CLOEXEC -+ { -+ int fdflags = fcntl(mfp->mf_fd, F_GETFD); -+ if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0) -+ fcntl(mfp->mf_fd, F_SETFD, fdflags | FD_CLOEXEC); -+ } -+ #endif - } - if (!success) - EMSG(_("E302: Could not rename swap file")); -*** ../vim-7.2.299/src/version.c 2009-11-17 16:08:12.000000000 +0100 ---- src/version.c 2009-11-17 17:09:43.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 300, - /**/ - --- - | - -Ceci n'est pas une pipe. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |