diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index a6c9caa20..aea08932e 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2003-10-24 Brian Ford + + * fhandler.cc (fhandler_base::fcntl): Don't clobber O_APPEND when + both O_NONBLOCK/O_NDELAY are set for F_SETFL. + 2003-10-24 Corinna Vinschen * path.cc (win32_device_name): Fix comment. diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc index 07bcdc94f..79f3e2621 100644 --- a/winsup/cygwin/fhandler.cc +++ b/winsup/cygwin/fhandler.cc @@ -1068,7 +1068,7 @@ int fhandler_base::fcntl (int cmd, void *arg) Set only the flag that has been passed in. If both are set, just record O_NONBLOCK. */ if ((new_flags & OLD_O_NDELAY) && (new_flags & O_NONBLOCK)) - new_flags = O_NONBLOCK; + new_flags &= ~OLD_O_NDELAY; set_flags ((get_flags () & ~allowed_flags) | new_flags); } res = 0;