Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2007-08-13 21:16:05 +0400
committerCorinna Vinschen <corinna@vinschen.de>2007-08-13 21:16:05 +0400
commit176c3f21b43f544b1f710824ce4fb4c0936b3533 (patch)
tree3525ac1b794f9ec47ce17dfa82982842c315c8f7 /winsup/cygwin/fhandler_disk_file.cc
parent19afaa1a50ad936d91cf898eb7bb7e24af8c573f (diff)
* Makefile.in (DLL_OFILES): Remove delqueue.o.
* delqueue.cc: Delete. * fhandler.h (fhandler_base::close_fs): Drop declaration. (fhandler_disk_file::close): Drop declaration. * fhandler_disk_file.cc (fhandler_base::fstat_fs): Call close instead of close_fs. (fhandler_base::fstat_helper): Use open FH_UNIX handle in call to get_file_attribute. (fhandler_base::open_fs): Call close instead of get_file_attribute. (fhandler_disk_file::close): Remove. (fhandler_base::close_fs): Remove. * fhandler_socket.cc (fhandler_socket::close): Just call fhandler_base::close for FH_UNIX sockets. * shared.cc (user_shared_initialize): Drop call to user_shared->delqueue.init. * shared_info.h (CURR_USER_MAGIC): Change according to below change. (MAX_DELQUEUES_PENDING): Remove. (class delqueue_list): Remove. (class user_info): Remove delqueue. * syscalls.cc (close_all_files): Drop call to user_shared->delqueue.process_queue. (unlink): Drop delqueue handling.
Diffstat (limited to 'winsup/cygwin/fhandler_disk_file.cc')
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc24
1 files changed, 5 insertions, 19 deletions
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc
index c929cddf8..12524196a 100644
--- a/winsup/cygwin/fhandler_disk_file.cc
+++ b/winsup/cygwin/fhandler_disk_file.cc
@@ -432,12 +432,12 @@ fhandler_base::fstat_fs (struct __stat64 *buf)
{
/* We now have a valid handle, regardless of the "nohandle" state.
Since fhandler_base::open only calls CloseHandle if !nohandle,
- we have to set it to false before calling close_fs and restore
+ we have to set it to false before calling close and restore
the state afterwards. */
res = fstat_by_handle (buf);
bool no_handle = nohandle ();
nohandle (false);
- close_fs ();
+ close ();
nohandle (no_handle);
set_io_handle (NULL);
}
@@ -528,7 +528,8 @@ fhandler_base::fstat_helper (struct __stat64 *buf,
else if (pc.issocket ())
buf->st_mode = S_IFSOCK;
- if (!get_file_attribute (is_fs_special () ? NULL: get_handle (), pc,
+ if (!get_file_attribute (is_fs_special () && !pc.issocket ()
+ ? NULL : get_handle (), pc,
&buf->st_mode, &buf->st_uid, &buf->st_gid))
{
/* If read-only attribute is set, modify ntsec return value */
@@ -1256,7 +1257,7 @@ fhandler_base::open_fs (int flags, mode_t mode)
if (pc.has_buggy_open () && !pc.exists ())
{
debug_printf ("Buggy open detected.");
- close_fs ();
+ close ();
set_errno (ENOENT);
return 0;
}
@@ -1269,21 +1270,6 @@ out:
return res;
}
-int
-fhandler_disk_file::close ()
-{
- return close_fs ();
-}
-
-int
-fhandler_base::close_fs ()
-{
- int res = fhandler_base::close ();
- if (!res)
- user_shared->delqueue.process_queue ();
- return res;
-}
-
ssize_t __stdcall
fhandler_disk_file::pread (void *buf, size_t count, _off64_t offset)
{