Danek Duvall wrote:
> This doesn't compile.
>
> > Patch 7.3.296
> > Problem: When writing to an external command a zombie process may be left
> > behind.
> > Solution: Wait on the process. (James Vega)
> > Files: src/os_unix.c
> >
> >
> > *** ../vim-7.3.295/src/os_unix.c 2011-09-07 14:06:38.000000000 +0200
> > --- src/os_unix.c 2011-09-07 14:54:11.000000000 +0200
> > ***************
> > *** 154,159 ****
> > --- 154,166 ----
> >
> > static void may_core_dump __ARGS((void));
> >
> > + #ifdef HAVE_UNION_WAIT
> > + typedef union wait waitstatus;
> > + #else
> > + typedef int waitstatus;
> > + #endif
> > + static int wait4pid __ARGS((pid_t, waitstatus *));
>
> wait4pid is declared as returning int here, but ...
>
> > static int WaitForChar __ARGS((long));
> > #if defined(__BEOS__)
> > int RealWaitForChar __ARGS((int, long, int *));
> > ***************
> > *** 3660,3665 ****
> > --- 3667,3713 ----
> > /* Nothing to do. */
> > }
> >
> > + /*
> > + * Wait for process "child" to end.
> > + * Return "child" if it exited properly, <= 0 on error.
> > + */
> > + static pid_t
> > + wait4pid(child, status)
> > + pid_t child;
> > + waitstatus *status;
>
> ... defined as returning pid_t here. At least with Sun Studio, this is a
> redeclaration error.
>
> Changing the declaration to return pid_t lets it compile.
Apparently my compiler didn't complain. I'll make a patch to fix it
soon. Thanks for sending the problem report.
--
Engineers will go without food and hygiene for days to solve a problem.
(Other times just because they forgot.)
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- [email protected] -- 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 ///
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php