diff options
author | Christopher Faylor <me@cgf.cx> | 2011-12-17 07:01:21 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2011-12-17 07:01:21 +0000 |
commit | ce3318344c573af96b932b618766aadfffb65cf2 (patch) | |
tree | 0e26016d6c52692d2b0eb3f559c857575678d630 /winsup/cygwin/fhandler.cc | |
parent | 60cd6a7798d2d8de8d49fd10d7a6ec43183a7c58 (diff) | |
download | cygnal-ce3318344c573af96b932b618766aadfffb65cf2.tar.gz cygnal-ce3318344c573af96b932b618766aadfffb65cf2.tar.bz2 cygnal-ce3318344c573af96b932b618766aadfffb65cf2.zip |
* exceptions.cc (set_signal_mask): Remove useless debugging output.
* fhandler.cc (fhandler_base::write): Ditto.
(fhandler_base_overlapped::close): Cancel any ongoing I/O before closing.
* syscalls.cc (write): Default to always reporting all writes in strace output
via syscall_printf.
* wait.cc (wait4): Fix debugging output. Use standard syscall leaver output.
Diffstat (limited to 'winsup/cygwin/fhandler.cc')
-rw-r--r-- | winsup/cygwin/fhandler.cc | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc index 04499e6e7..6624bc7da 100644 --- a/winsup/cygwin/fhandler.cc +++ b/winsup/cygwin/fhandler.cc @@ -839,16 +839,13 @@ fhandler_base::write (const void *ptr, size_t len) NTSTATUS status; status = NtFsControlFile (get_output_handle (), NULL, NULL, NULL, &io, FSCTL_SET_SPARSE, NULL, 0, NULL, 0); - syscall_printf ("%p = NtFsControlFile(%S, FSCTL_SET_SPARSE)", - status, pc.get_nt_native_path ()); + debug_printf ("%p = NtFsControlFile(%S, FSCTL_SET_SPARSE)", + status, pc.get_nt_native_path ()); } } if (wbinary ()) - { - debug_printf ("binary write"); - res = raw_write (ptr, len); - } + res = raw_write (ptr, len); else { debug_printf ("text write"); @@ -1222,6 +1219,10 @@ fhandler_base_overlapped::close () } else { + /* Cancelling seems to be necessary for cases where a reader is + still executing either in another thread or when a signal handler + performs a close. */ + CancelIo (get_io_handle ()); destroy_overlapped (); res = fhandler_base::close (); } |