From de3c57f06e3b8244c44e7203dc50cfad8a68f130 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Mon, 30 May 2011 17:16:24 +0000 Subject: [PATCH] * dll_init.cc (dll_list::append): Eliminate increment of unused tot variable. * dll_init.h (dll_list::tot): Delete. (dll_list::populate_all_deps): Delete undefined function. * fhandler.cc (fhandler_base_overlapped::wait_overlapped): Move EPIPE handling under error condition. --- winsup/cygwin/ChangeLog | 10 ++++++++++ winsup/cygwin/dll_init.cc | 1 - winsup/cygwin/dll_init.h | 2 -- winsup/cygwin/fhandler.cc | 10 ++++++---- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 3406ed3da..b9c7453f3 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,13 @@ +2011-05-30 Christopher Faylor + + * dll_init.cc (dll_list::append): Eliminate increment of unused tot + variable. + * dll_init.h (dll_list::tot): Delete. + (dll_list::populate_all_deps): Delete undefined function. + + * fhandler.cc (fhandler_base_overlapped::wait_overlapped): Move EPIPE + handling under error condition. + 2011-05-30 Ryan Johnson * dll_init.cc (reserve_upto): Remove. diff --git a/winsup/cygwin/dll_init.cc b/winsup/cygwin/dll_init.cc index 9994ef8f1..0258b3549 100644 --- a/winsup/cygwin/dll_init.cc +++ b/winsup/cygwin/dll_init.cc @@ -199,7 +199,6 @@ dll_list::append (dll* d) d->next = NULL; d->prev = end; end = d; - tot++; } void dll_list::populate_deps (dll* d) diff --git a/winsup/cygwin/dll_init.h b/winsup/cygwin/dll_init.h index bf0265303..3f50dcab0 100644 --- a/winsup/cygwin/dll_init.h +++ b/winsup/cygwin/dll_init.h @@ -80,7 +80,6 @@ class dll_list static muto protect; public: dll start; - int tot; int loaded_dlls; int reload_on_fork; dll *operator [] (const PWCHAR name); @@ -92,7 +91,6 @@ public: void reserve_space (); void load_after_fork_impl (HANDLE, dll* which, int retries); dll *find_by_modname (const PWCHAR name); - void populate_all_deps (); void populate_deps (dll* d); void topsort (); void topsort_visit (dll* d, bool goto_tail); diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc index deb1ade16..b64b09047 100644 --- a/winsup/cygwin/fhandler.cc +++ b/winsup/cygwin/fhandler.cc @@ -1887,13 +1887,15 @@ fhandler_base_overlapped::wait_overlapped (bool inres, bool writing, DWORD *byte HANDLE h = writing ? get_output_handle () : get_handle (); CancelIo (h); ResetEvent (get_overlapped ()); - if (res == overlapped_error) - __seterrno_from_win_error (err); *bytes = (DWORD) -1; + if (res == overlapped_error) + { + __seterrno_from_win_error (err); + if (writing && (err == ERROR_NO_DATA || err == ERROR_BROKEN_PIPE)) + raise (SIGPIPE); + } } - if (writing && (err == ERROR_NO_DATA || err == ERROR_BROKEN_PIPE)) - raise (SIGPIPE); return res; }