From cf20f9df73b89620621bc188bd3a8aafa478a97b Mon Sep 17 00:00:00 2001 From: corinna Date: Fri, 24 Oct 2003 12:11:20 +0000 Subject: [PATCH] * fhandler.cc (fhandler_base::fcntl): Don't clobber O_APPEND when both O_NONBLOCK/O_NDELAY are set for F_SETFL. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/fhandler.cc | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index a6c9caa20c..aea08932ed 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 07bcdc94f9..79f3e26214 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; -- 2.11.0