summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_disk_file.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2007-08-16 16:59:25 +0000
committerCorinna Vinschen <corinna@vinschen.de>2007-08-16 16:59:25 +0000
commitf4c963630ea50959fcbd55d897defb4fafdb45eb (patch)
tree7961d6db376843a2ad7983b0dce8ba060807afe4 /winsup/cygwin/fhandler_disk_file.cc
parent29992bf3dad77669ffbedd92d3075a5fb1b1a1ae (diff)
downloadcygnal-f4c963630ea50959fcbd55d897defb4fafdb45eb.tar.gz
cygnal-f4c963630ea50959fcbd55d897defb4fafdb45eb.tar.bz2
cygnal-f4c963630ea50959fcbd55d897defb4fafdb45eb.zip
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Handle S_IFSOCK
mode bit by setting the SYSTEM attribute. * fhandler_socket.cc (fhandler_socket::fchmod): Add S_IFSOCK mode bit when calling fhandler_disk_file::fchmod. Don't set attributes here.
Diffstat (limited to 'winsup/cygwin/fhandler_disk_file.cc')
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc
index cccd440f4..3dfed5a42 100644
--- a/winsup/cygwin/fhandler_disk_file.cc
+++ b/winsup/cygwin/fhandler_disk_file.cc
@@ -772,6 +772,8 @@ fhandler_disk_file::fchmod (mode_t mode)
pc &= (DWORD) ~FILE_ATTRIBUTE_READONLY;
else
pc |= (DWORD) FILE_ATTRIBUTE_READONLY;
+ if (mode & S_IFSOCK)
+ pc |= (DWORD) FILE_ATTRIBUTE_SYSTEM;
IO_STATUS_BLOCK io;
FILE_BASIC_INFORMATION fbi;