Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Yano <takashi.yano@nifty.ne.jp>2023-01-19 16:02:47 +0300
committerTakashi Yano <takashi.yano@nifty.ne.jp>2023-01-19 16:54:12 +0300
commit9522166db1d2a8c551652d7f17ab3ff692cc4d19 (patch)
tree8242d0d9252c49079e2eb6d76f081ce7a9e6ebfd
parent3c2ac163da888cf69d855c9becf643dbc6ebd94f (diff)
Cygwin: dsp: Fix a problem that fcntl() does not take effect.
Previously, fhandler_dev_dsp (OSS) has a problem that fcntl() does not take effect at all. This patch fixes the issue. Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp> Reviewed-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r--winsup/cygwin/fhandler/dsp.cc12
-rw-r--r--winsup/cygwin/local_includes/fhandler.h2
2 files changed, 14 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler/dsp.cc b/winsup/cygwin/fhandler/dsp.cc
index c37bedea5..8798cf876 100644
--- a/winsup/cygwin/fhandler/dsp.cc
+++ b/winsup/cygwin/fhandler/dsp.cc
@@ -1038,6 +1038,12 @@ fhandler_dev_dsp::ioctl (unsigned int cmd, void *buf)
return base ()->_ioctl (cmd, buf);
}
+int
+fhandler_dev_dsp::fcntl (int cmd, intptr_t arg)
+{
+ return base ()->_fcntl (cmd, arg);
+}
+
void
fhandler_dev_dsp::fixup_after_fork (HANDLE parent)
{
@@ -1417,6 +1423,12 @@ fhandler_dev_dsp::_ioctl (unsigned int cmd, void *buf)
}
}
+int
+fhandler_dev_dsp::_fcntl (int cmd, intptr_t arg)
+{
+ return fhandler_base::fcntl(cmd, arg);
+}
+
void
fhandler_dev_dsp::_fixup_after_fork (HANDLE parent)
{ // called from new child process
diff --git a/winsup/cygwin/local_includes/fhandler.h b/winsup/cygwin/local_includes/fhandler.h
index 8406dff64..113e40293 100644
--- a/winsup/cygwin/local_includes/fhandler.h
+++ b/winsup/cygwin/local_includes/fhandler.h
@@ -2770,6 +2770,7 @@ class fhandler_dev_dsp: public fhandler_base
ssize_t write (const void *, size_t);
void read (void *, size_t&);
int ioctl (unsigned int, void *);
+ int fcntl (int cmd, intptr_t);
int close ();
void fixup_after_fork (HANDLE);
void fixup_after_exec ();
@@ -2778,6 +2779,7 @@ class fhandler_dev_dsp: public fhandler_base
ssize_t _write (const void *, size_t);
void _read (void *, size_t&);
int _ioctl (unsigned int, void *);
+ int _fcntl (int cmd, intptr_t);
void _fixup_after_fork (HANDLE);
void _fixup_after_exec ();