summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/fhandler_procsys.cc16
-rw-r--r--winsup/cygwin/release/1.7.193
3 files changed, 10 insertions, 15 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 1fd037412..aae0ea9e0 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,9 @@
+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
diff --git a/winsup/cygwin/fhandler_procsys.cc b/winsup/cygwin/fhandler_procsys.cc
index 6bd52da27..759712f04 100644
--- a/winsup/cygwin/fhandler_procsys.cc
+++ b/winsup/cygwin/fhandler_procsys.cc
@@ -394,26 +394,12 @@ fhandler_procsys::closedir (DIR *dir)
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);
}
diff --git a/winsup/cygwin/release/1.7.19 b/winsup/cygwin/release/1.7.19
index 6b6c883be..30495e9c6 100644
--- a/winsup/cygwin/release/1.7.19
+++ b/winsup/cygwin/release/1.7.19
@@ -31,3 +31,6 @@ Bug fixes:
- 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