merge from gcc

This commit is contained in:
DJ Delorie 2007-02-09 17:21:45 +00:00
parent c6b750e16c
commit b5d7c748f2
2 changed files with 4 additions and 27 deletions

View File

@ -1,3 +1,7 @@
2007-02-09 Joseph S. Myers <joseph@codesourcery.com>
* libiberty.h (pex_write_input): Remove prototype.
2007-02-05 Dave Brolley <brolley@redhat.com>
* Contribute the following changes:

View File

@ -485,33 +485,6 @@ extern const char *pex_run_in_environment (struct pex_obj *obj, int flags,
const char *outname,
const char *errname, int *err);
/* Return a `FILE' pointer FP for the standard input of the first
program in the pipeline; FP is opened for writing. You must have
passed `PEX_USE_PIPES' to the `pex_init' call that returned OBJ.
You must close FP yourself with `fclose' to indicate that the
pipeline's input is complete.
The file descriptor underlying FP is marked not to be inherited by
child processes.
This call is not supported on systems which do not support pipes;
it returns with an error. (We could implement it by writing a
temporary file, but then you would need to write all your data and
close FP before your first call to `pex_run' -- and that wouldn't
work on systems that do support pipes: the pipe would fill up, and
you would block. So there isn't any easy way to conceal the
differences between the two types of systems.)
If you call both `pex_write_input' and `pex_read_output', be
careful to avoid deadlock. If the output pipe fills up, so that
each program in the pipeline is waiting for the next to read more
data, and you fill the input pipe by writing more data to FP, then
there is no way to make progress: the only process that could read
data from the output pipe is you, but you are blocked on the input
pipe. */
extern FILE *pex_write_input (struct pex_obj *obj, int binary);
/* Return a stream for a temporary file to pass to the first program
in the pipeline as input. The file name is chosen as for pex_run.
pex_run closes the file automatically; don't close it yourself. */