summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/fhandler.h1
-rw-r--r--winsup/cygwin/fhandler_fifo.cc8
-rw-r--r--winsup/cygwin/release/2.11.213
3 files changed, 22 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h
index b946dddf4..2cc99d713 100644
--- a/winsup/cygwin/fhandler.h
+++ b/winsup/cygwin/fhandler.h
@@ -1237,6 +1237,7 @@ class fhandler_fifo: public fhandler_base_overlapped
public:
fhandler_fifo ();
int open (int, mode_t);
+ off_t lseek (off_t offset, int whence);
int close ();
int dup (fhandler_base *child, int);
bool isfifo () const { return true; }
diff --git a/winsup/cygwin/fhandler_fifo.cc b/winsup/cygwin/fhandler_fifo.cc
index 642949aea..5733ec778 100644
--- a/winsup/cygwin/fhandler_fifo.cc
+++ b/winsup/cygwin/fhandler_fifo.cc
@@ -221,6 +221,14 @@ out:
return res == success;
}
+off_t
+fhandler_fifo::lseek (off_t offset, int whence)
+{
+ debug_printf ("(%D, %d)", offset, whence);
+ set_errno (ESPIPE);
+ return -1;
+}
+
bool
fhandler_fifo::wait (HANDLE h)
{
diff --git a/winsup/cygwin/release/2.11.2 b/winsup/cygwin/release/2.11.2
new file mode 100644
index 000000000..c8d81d45b
--- /dev/null
+++ b/winsup/cygwin/release/2.11.2
@@ -0,0 +1,13 @@
+What's new:
+-----------
+
+
+What changed:
+-------------
+
+
+Bug Fixes
+---------
+
+- Return ESPIPE rather than EINVAL from lseek on a fifo.
+ Addresses: https://cygwin.com/ml/cygwin/2018-10/msg00019.html