* 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:
parent
60cd6a7798
commit
ce3318344c
@ -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.
|
||||||
|
@ -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 ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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 ();
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user