Merged from gcc head revision 146001.

2009-04-13  Ozkan Sezer  <sezeroz@gmail.com>

        PR target/39397
        * pex-common.h (struct pex_obj): Store pid values as pid_t,
        not as long (members *children and (*wait))
        * pex-common.c (pex_run_in_environment): Likewise.
        * pex-win32.c (pex_win32_wait): Return pid_t and properly check
        returned pid value.
        * pex-djgpp.c (pex_djgpp_wait): Return pid_t.
        * pex-msdos.c (pex_msdos_wait): Likewise.
This commit is contained in:
Kai Tietz 2009-04-13 10:48:27 +00:00
parent 2e80c30680
commit 587c6b96ef
6 changed files with 23 additions and 12 deletions

View file

@ -84,7 +84,7 @@ static pid_t pex_win32_exec_child (struct pex_obj *, int, const char *,
int, int, int, int,
const char **, int *);
static int pex_win32_close (struct pex_obj *, int);
static int pex_win32_wait (struct pex_obj *, pid_t, int *,
static pid_t pex_win32_wait (struct pex_obj *, pid_t, int *,
struct pex_time *, int, const char **, int *);
static int pex_win32_pipe (struct pex_obj *, int *, int);
static FILE *pex_win32_fdopenr (struct pex_obj *, int, int);
@ -705,7 +705,7 @@ spawn_script (const char *executable, char *const *argv,
dwCreationFlags, si, pi);
if (executable1 != newex)
free ((char *) newex);
if ((long) pid < 0)
if (pid == (pid_t) -1)
{
newex = msys_rootify (executable1);
if (newex != executable1)
@ -722,7 +722,7 @@ spawn_script (const char *executable, char *const *argv,
}
}
}
if ((long) pid < 0)
if (pid == (pid_t) -1)
errno = save_errno;
return pid;
}
@ -840,7 +840,7 @@ pex_win32_exec_child (struct pex_obj *obj ATTRIBUTE_UNUSED, int flags,
status == 3. We fix the status code to conform to the usual WIF*
macros. Note that WIFSIGNALED will never be true under CRTDLL. */
static int
static pid_t
pex_win32_wait (struct pex_obj *obj ATTRIBUTE_UNUSED, pid_t pid,
int *status, struct pex_time *time, int done ATTRIBUTE_UNUSED,
const char **errmsg, int *err)