Previously fhandler_pipe was derived from fhandler_base_overlapped, which we are going to remove in a future commit. Make minimal changes so that the build still succeeds. --- winsup/cygwin/fhandler.h | 5 ++--- winsup/cygwin/fhandler_pipe.cc | 11 +++++------ 2 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index f244f3486..bdfe4a272 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -1187,14 +1187,14 @@ public: friend DWORD WINAPI flush_async_io (void *); }; -class fhandler_pipe: public fhandler_base_overlapped +class fhandler_pipe: public fhandler_base { private: pid_t popen_pid; + size_t max_atomic_write; public: fhandler_pipe (); - bool ispipe() const { return true; } void set_popen_pid (pid_t pid) {popen_pid = pid;} @@ -1221,7 +1221,6 @@ public: { x->pc.free_strings (); *reinterpret_cast<fhandler_pipe *> (x) = *this; - reinterpret_cast<fhandler_pipe *> (x)->atomic_write_buf = NULL; x->reset (this); } diff --git a/winsup/cygwin/fhandler_pipe.cc b/winsup/cygwin/fhandler_pipe.cc index edbaded68..2ea69f8ed 100644 --- a/winsup/cygwin/fhandler_pipe.cc +++ b/winsup/cygwin/fhandler_pipe.cc @@ -21,7 +21,7 @@ details. */ #include "shared_info.h" fhandler_pipe::fhandler_pipe () - : fhandler_base_overlapped (), popen_pid (0) + : fhandler_base (), popen_pid (0) { max_atomic_write = DEFAULT_PIPEBUFSIZE; need_fork_fixup (true); @@ -54,9 +54,8 @@ fhandler_pipe::init (HANDLE f, DWORD a, mode_t mode, int64_t uniq_id) set_ino (uniq_id); set_unique_id (uniq_id | !!(mode & GENERIC_WRITE)); if (opened_properly) - setup_overlapped (); - else - destroy_overlapped (); + /* ... */ + ; return 1; } @@ -192,7 +191,7 @@ fhandler_pipe::dup (fhandler_base *child, int flags) ftp->set_popen_pid (0); int res; - if (get_handle () && fhandler_base_overlapped::dup (child, flags)) + if (get_handle () && fhandler_base::dup (child, flags)) res = -1; else res = 0; @@ -359,7 +358,7 @@ fhandler_pipe::create (fhandler_pipe *fhs[2], unsigned psize, int mode) int res = -1; int64_t unique_id; - int ret = create (sa, &r, &w, psize, NULL, FILE_FLAG_OVERLAPPED, &unique_id); + int ret = create (sa, &r, &w, psize, NULL, 0, &unique_id); if (ret) __seterrno_from_win_error (ret); else if ((fhs[0] = (fhandler_pipe *) build_fh_dev (*piper_dev)) == NULL) -- 2.21.0