[newlib-cygwin] Cygwin: fhandler_pipe: derive from fhandler_base
Corinna Vinschen
corinna@sourceware.org
Tue Sep 14 15:04:38 GMT 2021
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=72e083c4a01ef5c2bb51a7c05be315d249e442d1
commit 72e083c4a01ef5c2bb51a7c05be315d249e442d1
Author: Ken Brown <kbrown@cornell.edu>
Date: Thu Aug 26 16:57:21 2021 -0400
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.
Diff:
---
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 7c3cf8103..c612a3684 100644
--- a/winsup/cygwin/fhandler.h
+++ b/winsup/cygwin/fhandler.h
@@ -1238,14 +1238,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;}
@@ -1272,7 +1272,6 @@ public:
{
pc.free_strings ();
*this = *reinterpret_cast<fhandler_pipe *> (x);
- atomic_write_buf = NULL;
_copy_from_reset_helper ();
}
diff --git a/winsup/cygwin/fhandler_pipe.cc b/winsup/cygwin/fhandler_pipe.cc
index 7ab73a9d3..65ef70c25 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)
More information about the Cygwin-cvs
mailing list