From 86a4b0c733dab174b9eb1b556b881f565d7bd819 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen <corinna@vinschen.de> Date: Fri, 29 Feb 2008 16:38:51 +0000 Subject: [PATCH] * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Call close_fs instead of close to avoid calling close from wrong class when changing a file system based device node. (fhandler_disk_file::fchown): Ditto. (fhandler_disk_file::facl): Ditto. --- winsup/cygwin/ChangeLog | 8 ++++++++ winsup/cygwin/fhandler_disk_file.cc | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index b91c83c43..1e5896fb5 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,11 @@ +2008-02-29 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Call close_fs + instead of close to avoid calling close from wrong class when changing + a file system based device node. + (fhandler_disk_file::fchown): Ditto. + (fhandler_disk_file::facl): Ditto. + 2008-02-28 Corinna Vinschen <corinna@vinschen.de> * exceptions.cc (_cygtls::handle_exceptions): When being debugged, diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index c06b5ffdd..fbd66e2ff 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -784,7 +784,7 @@ fhandler_disk_file::fchmod (mode_t mode) res = 0; if (oret) - close (); + close_fs (); return res; } @@ -826,7 +826,7 @@ fhandler_disk_file::fchown (__uid32_t uid, __gid32_t gid) res = set_file_attribute (get_handle (), pc, uid, gid, attrib); } if (oret) - close (); + close_fs (); return res; } @@ -941,7 +941,7 @@ cant_access_acl: } if (oret) - close (); + close_fs (); return res; }