* 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.
This commit is contained in:
Christopher Faylor 2011-12-17 07:01:21 +00:00
parent 60cd6a7798
commit ce3318344c
5 changed files with 22 additions and 17 deletions

View File

@ -1,3 +1,15 @@
2011-12-17 Christopher Faylor <me.cygwin2011@cgf.cx>
* 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.
2011-12-16 Christopher Faylor <me.cygwin2011@cgf.cx> 2011-12-16 Christopher Faylor <me.cygwin2011@cgf.cx>
Implement fhandler reference counting. Implement fhandler reference counting.

View File

@ -1144,8 +1144,6 @@ set_signal_mask (sigset_t newmask, sigset_t& oldmask)
oldmask = newmask; oldmask = newmask;
if (mask_bits) if (mask_bits)
sig_dispatch_pending (true); sig_dispatch_pending (true);
else
sigproc_printf ("not calling sig_dispatch_pending");
mask_sync.release (); mask_sync.release ();
} }

View File

@ -839,16 +839,13 @@ fhandler_base::write (const void *ptr, size_t len)
NTSTATUS status; NTSTATUS status;
status = NtFsControlFile (get_output_handle (), NULL, NULL, NULL, status = NtFsControlFile (get_output_handle (), NULL, NULL, NULL,
&io, FSCTL_SET_SPARSE, NULL, 0, NULL, 0); &io, FSCTL_SET_SPARSE, NULL, 0, NULL, 0);
syscall_printf ("%p = NtFsControlFile(%S, FSCTL_SET_SPARSE)", debug_printf ("%p = NtFsControlFile(%S, FSCTL_SET_SPARSE)",
status, pc.get_nt_native_path ()); status, pc.get_nt_native_path ());
} }
} }
if (wbinary ()) if (wbinary ())
{ res = raw_write (ptr, len);
debug_printf ("binary write");
res = raw_write (ptr, len);
}
else else
{ {
debug_printf ("text write"); debug_printf ("text write");
@ -1222,6 +1219,10 @@ fhandler_base_overlapped::close ()
} }
else 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 (); destroy_overlapped ();
res = fhandler_base::close (); res = fhandler_base::close ();
} }

View File

@ -1170,10 +1170,7 @@ write (int fd, const void *ptr, size_t len)
res = cfd->write (ptr, len); res = cfd->write (ptr, len);
done: done:
if (fd == 1 || fd == 2) syscall_printf ("%R = write(%d, %p, %d)", res, fd, ptr, len);
paranoid_printf ("%R = write(%d, %p, %d)", res, fd, ptr, len);
else
syscall_printf ("%R = write(%d, %p, %d)", res, fd, ptr, len);
MALLOC_CHECK; MALLOC_CHECK;
return res; return res;

View File

@ -81,7 +81,7 @@ wait4 (int intpid, int *status, int options, struct rusage *r)
res = cancelable_wait (waitfor); res = cancelable_wait (waitfor);
sigproc_printf ("%d = WaitForSingleObject (...)", res); sigproc_printf ("%d = cancelable_wait (...)", res);
if (w->ev == NULL) if (w->ev == NULL)
{ {
@ -109,10 +109,7 @@ wait4 (int intpid, int *status, int options, struct rusage *r)
break; break;
} }
sigproc_printf ("intpid %d, status %p, w->status %d, options %d, res %d", syscall_printf ("%R = wait4(%d, %p, %d, %p)", res, intpid, w->status, options, r);
intpid, status, w->status, options, res);
w->status = -1; w->status = -1;
if (res < 0)
sigproc_printf ("*** errno %d", get_errno ());
return res; return res;
} }