diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 30b7ca08f..d1f6f0402 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2002-07-31 Conrad Scott + + * fhandler.h (fhandler_base::get_r_no_interrupt): Make non-virtual. + * net.cc (fdsock): Call set_r_no_interrupt. + 2002-07-30 Christopher Faylor * syscalls.cc (_read): Clarify debugging output. diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index a4eae4ff4..17390bdc3 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -209,7 +209,7 @@ class fhandler_base int get_default_fmode (int flags); - virtual bool get_r_no_interrupt () { return FHISSETF (NOEINTR); } + bool get_r_no_interrupt () { return FHISSETF (NOEINTR); } void set_r_no_interrupt (int b) { FHCONDSETF (b, NOEINTR); } bool get_close_on_exec () { return FHISSETF (CLOEXEC); } diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc index 870bf7865..f6a403fc3 100644 --- a/winsup/cygwin/net.cc +++ b/winsup/cygwin/net.cc @@ -511,6 +511,7 @@ fdsock (int& fd, const char *name, SOCKET soc) fhandler_socket *fh = (fhandler_socket *) cygheap->fdtab.build_fhandler (fd, FH_SOCKET, name); fh->set_io_handle ((HANDLE) soc); fh->set_flags (O_RDWR | O_BINARY); + fh->set_r_no_interrupt (winsock2_active); debug_printf ("fd %d, name '%s', soc %p", fd, name, soc); return fh; }