+2013-05-28 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_procsys.cc (fhandler_procsys::read): Just call
+ fhandler_base::raw_read from here. Drop comment.
+ (fhandler_procsys::write): Drop comment.
+
2013-05-27 Corinna Vinschen <corinna@vinschen.de>
* dll_init.cc (dll_list::topsort): Fix early-return condition to
void __reg3
fhandler_procsys::read (void *ptr, size_t& len)
{
- NTSTATUS status;
- IO_STATUS_BLOCK io;
- LARGE_INTEGER off = { QuadPart:0LL };
-
- /* FIXME: Implement nonblocking I/O, interruptibility and cancelability. */
- status = NtReadFile (get_handle (), NULL, NULL, NULL, &io, ptr, len,
- &off, NULL);
- if (!NT_SUCCESS (status))
- {
- __seterrno_from_nt_status (status);
- len = -1;
- }
- else
- len = io.Information;
+ fhandler_base::raw_read (ptr, len);
}
ssize_t __stdcall
fhandler_procsys::write (const void *ptr, size_t len)
{
- /* FIXME: Implement nonblocking I/O, interruptibility and cancelability. */
return fhandler_base::raw_write (ptr, len);
}
- Fix an incorrect condition which breaks fork after all dlopen'ed DLLs
have already been dlclose'd.
Fixes: http://cygwin.com/ml/cygwin/2013-05/msg00376.html
+
+- Fix buggy usage of NtReadFile when reading from device under /proc/sys.
+ Fixes: http://cygwin.com/ml/cygwin/2013-05/msg00392.html