diff options
author | Ulrich Drepper <drepper@gmail.com> | 2011-05-15 15:28:46 -0400 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-05-15 15:28:46 -0400 |
commit | 94b7cc3711b0b74c1d3ae18b9a2e019e51a8e0bf (patch) | |
tree | 2ddc8ca200024ecca3faf0f2efffaea15e21a04f /ChangeLog | |
parent | bd25564e1e98910ed69043ed6a6f884ce60e5780 (diff) | |
download | glibc-94b7cc3711b0b74c1d3ae18b9a2e019e51a8e0bf.tar glibc-94b7cc3711b0b74c1d3ae18b9a2e019e51a8e0bf.tar.gz glibc-94b7cc3711b0b74c1d3ae18b9a2e019e51a8e0bf.tar.bz2 glibc-94b7cc3711b0b74c1d3ae18b9a2e019e51a8e0bf.zip |
Fix a few problems in fopen and freopen
fopen should set the FD_CLOEXEC flag if requested evenif the kernel does
not support an aotmic operation.
freopen should reuse the file descriptor for the stream. This is
especially important for calls to change the standard streams (stin,
stdout, stderr).
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -1,5 +1,21 @@ 2011-05-15 Ulrich Drepper <drepper@gmail.com> + * libio/freopen.c (freopen): Don't close old file descriptor + before the new one is opened. Instead dup the new file descriptor + to the old one after the new stream is created. + * libio/freopen64.c (freopen64): Likewise. + * libio/libio.h: Define _IO_FLAGS2_NOCLOSE and _IO_FLAGS2_CLOEXEC. + * libio/fileops.c (_IO_new_file_close_it): Handle new + _IO_FLAGS2_NOCLOSE flag. + (_IO_new_file_fopen): Set _IO_FLAGS2_CLOEXEC for "e" mode. + If _IO_file_open didn't set FD_CLOEXEC do it after the call. + * libio/oldfileops.c (_IO_old_file_close_it): Handle new + _IO_FLAGS2_NOCLOSE flag. + * include/unistd.h: Add hidden_proto for dup3. + Define __have_dup3. + * io/dup3.c: Define hidden symbol. + * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_DUP3. + [BZ #7101] * posix/getopt.c (_getopt_internal_r): List all ambigious possibilities when an incomplete long option is used. |