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:49:53 +0300
commitc45b043a9424dbfebd7aacbf161ae897a3b15909 (patch)
tree6c1c124e8a24b1269051ad5f58bcfdc2862036cb
parent0aa1c038196d04d0dfc8dc0f0f30e247e0c1e1e3 (diff)
Cygwin: dsp: Fix a problem that fcntl() does not take effect.cygwin-3.4.4
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 bc02eae66..5fe979538 100644
--- a/winsup/cygwin/local_includes/fhandler.h
+++ b/winsup/cygwin/local_includes/fhandler.h
@@ -2766,6 +2766,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 ();
@@ -2774,6 +2775,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 ();