mirror of
https://salsa.debian.org/srivasta/make-dfsg.git
synced 2024-12-29 08:09:03 +00:00
Safety cleanups: ensure OUTFD is -1 when closed.
This commit is contained in:
parent
f80222c15b
commit
72462ef1e1
2 changed files with 15 additions and 6 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2013-07-21 Paul Smith <psmith@gnu.org>
|
||||||
|
|
||||||
|
* job.c (assign_child_tempfiles): Assign OUTFD to -1 for safety.
|
||||||
|
(start_job_command): Don't test output_sync and sync_cmd: redundant.
|
||||||
|
Changes suggested by Frank Heckenbach <f.heckenbach@fh-soft.de>.
|
||||||
|
|
||||||
2013-07-14 Paul Smith <psmith@gnu.org>
|
2013-07-14 Paul Smith <psmith@gnu.org>
|
||||||
|
|
||||||
* filedef.h (update_status): Convert UPDATE_STATUS from a char to
|
* filedef.h (update_status): Convert UPDATE_STATUS from a char to
|
||||||
|
|
15
job.c
15
job.c
|
@ -687,7 +687,10 @@ assign_child_tempfiles (struct child *c)
|
||||||
|
|
||||||
error:
|
error:
|
||||||
if (c->outfd >= 0)
|
if (c->outfd >= 0)
|
||||||
close (c->outfd);
|
{
|
||||||
|
close (c->outfd);
|
||||||
|
c->outfd = -1;
|
||||||
|
}
|
||||||
output_sync = 0;
|
output_sync = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -700,8 +703,8 @@ pump_from_tmp (int from, FILE *to)
|
||||||
#ifdef WINDOWS32
|
#ifdef WINDOWS32
|
||||||
int prev_mode;
|
int prev_mode;
|
||||||
|
|
||||||
/* from_fd is opened by open_tmpfd, which does it in binary mode, so
|
/* "from" is opened by open_tmpfd, which does it in binary mode, so
|
||||||
we need the mode of to_fd to match that. */
|
we need the mode of "to" to match that. */
|
||||||
prev_mode = _setmode (fileno (to), _O_BINARY);
|
prev_mode = _setmode (fileno (to), _O_BINARY);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -721,7 +724,7 @@ pump_from_tmp (int from, FILE *to)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WINDOWS32
|
#ifdef WINDOWS32
|
||||||
/* Switch to_fd back to its original mode, so that log messages by
|
/* Switch "to" back to its original mode, so that log messages by
|
||||||
Make have the same EOL format as without --output-sync. */
|
Make have the same EOL format as without --output-sync. */
|
||||||
_setmode (fileno (to), prev_mode);
|
_setmode (fileno (to), prev_mode);
|
||||||
#endif
|
#endif
|
||||||
|
@ -1753,7 +1756,7 @@ start_job_command (struct child *child)
|
||||||
#ifdef OUTPUT_SYNC
|
#ifdef OUTPUT_SYNC
|
||||||
/* Divert child output if output_sync in use. Don't capture
|
/* Divert child output if output_sync in use. Don't capture
|
||||||
recursive make output unless we are synchronizing "make" mode. */
|
recursive make output unless we are synchronizing "make" mode. */
|
||||||
if (output_sync && sync_cmd)
|
if (sync_cmd)
|
||||||
{
|
{
|
||||||
int outfd = fileno (stdout);
|
int outfd = fileno (stdout);
|
||||||
int errfd = fileno (stderr);
|
int errfd = fileno (stderr);
|
||||||
|
@ -1866,7 +1869,7 @@ start_job_command (struct child *child)
|
||||||
#ifdef OUTPUT_SYNC
|
#ifdef OUTPUT_SYNC
|
||||||
/* Divert child output if output_sync in use. Don't capture
|
/* Divert child output if output_sync in use. Don't capture
|
||||||
recursive make output unless we are synchronizing "make" mode. */
|
recursive make output unless we are synchronizing "make" mode. */
|
||||||
if (output_sync && sync_cmd)
|
if (sync_cmd)
|
||||||
hPID = process_easy (argv, child->environment,
|
hPID = process_easy (argv, child->environment,
|
||||||
child->outfd, child->errfd);
|
child->outfd, child->errfd);
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue