Cygwin: fhandler_pipe: derive from fhandler_base

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.
This commit is contained in:
Ken Brown 2021-08-26 16:57:21 -04:00 committed by Corinna Vinschen
parent 8c8d3b7a94
commit 72e083c4a0
2 changed files with 7 additions and 9 deletions

View File

@ -1238,14 +1238,14 @@ public:
friend DWORD WINAPI flush_async_io (void *); friend DWORD WINAPI flush_async_io (void *);
}; };
class fhandler_pipe: public fhandler_base_overlapped class fhandler_pipe: public fhandler_base
{ {
private: private:
pid_t popen_pid; pid_t popen_pid;
size_t max_atomic_write;
public: public:
fhandler_pipe (); fhandler_pipe ();
bool ispipe() const { return true; } bool ispipe() const { return true; }
void set_popen_pid (pid_t pid) {popen_pid = pid;} void set_popen_pid (pid_t pid) {popen_pid = pid;}
@ -1272,7 +1272,6 @@ public:
{ {
pc.free_strings (); pc.free_strings ();
*this = *reinterpret_cast<fhandler_pipe *> (x); *this = *reinterpret_cast<fhandler_pipe *> (x);
atomic_write_buf = NULL;
_copy_from_reset_helper (); _copy_from_reset_helper ();
} }

View File

@ -21,7 +21,7 @@ details. */
#include "shared_info.h" #include "shared_info.h"
fhandler_pipe::fhandler_pipe () fhandler_pipe::fhandler_pipe ()
: fhandler_base_overlapped (), popen_pid (0) : fhandler_base (), popen_pid (0)
{ {
max_atomic_write = DEFAULT_PIPEBUFSIZE; max_atomic_write = DEFAULT_PIPEBUFSIZE;
need_fork_fixup (true); 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_ino (uniq_id);
set_unique_id (uniq_id | !!(mode & GENERIC_WRITE)); set_unique_id (uniq_id | !!(mode & GENERIC_WRITE));
if (opened_properly) if (opened_properly)
setup_overlapped (); /* ... */
else ;
destroy_overlapped ();
return 1; return 1;
} }
@ -192,7 +191,7 @@ fhandler_pipe::dup (fhandler_base *child, int flags)
ftp->set_popen_pid (0); ftp->set_popen_pid (0);
int res; int res;
if (get_handle () && fhandler_base_overlapped::dup (child, flags)) if (get_handle () && fhandler_base::dup (child, flags))
res = -1; res = -1;
else else
res = 0; res = 0;
@ -359,7 +358,7 @@ fhandler_pipe::create (fhandler_pipe *fhs[2], unsigned psize, int mode)
int res = -1; int res = -1;
int64_t unique_id; 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) if (ret)
__seterrno_from_win_error (ret); __seterrno_from_win_error (ret);
else if ((fhs[0] = (fhandler_pipe *) build_fh_dev (*piper_dev)) == NULL) else if ((fhs[0] = (fhandler_pipe *) build_fh_dev (*piper_dev)) == NULL)