summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2018-10-10 13:20:04 +0200
committerCorinna Vinschen <corinna@vinschen.de>2018-10-10 13:20:45 +0200
commit323b48b975e5b305a5aaa5046ef1dc655fb1deba (patch)
tree5eb14120f650f49103387fb8dad2072e1347aa9e
parent9479563e4836177414c995730adb96d48da9fb22 (diff)
downloadcygnal-323b48b975e5b305a5aaa5046ef1dc655fb1deba.tar.gz
cygnal-323b48b975e5b305a5aaa5046ef1dc655fb1deba.tar.bz2
cygnal-323b48b975e5b305a5aaa5046ef1dc655fb1deba.zip
Cygwin: lseek: return ESPIPE rather than EINVAL when called on a fifo
Thanks to Henri for tracking this down: https://cygwin.com/ml/cygwin/2018-10/msg00062.html Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-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