[newlib-cygwin/cygwin-3_4-branch] Cygwin: dsp: Fix a problem that fcntl() does not take effect.
Takashi Yano
tyan0@sourceware.org
Thu Jan 19 13:54:54 GMT 2023
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=c45b043a9424dbfebd7aacbf161ae897a3b15909
commit c45b043a9424dbfebd7aacbf161ae897a3b15909
Author: Takashi Yano <takashi.yano@nifty.ne.jp>
Date: Thu Jan 19 22:02:47 2023 +0900
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>
Diff:
---
winsup/cygwin/fhandler/dsp.cc | 12 ++++++++++++
winsup/cygwin/local_includes/fhandler.h | 2 ++
2 files changed, 14 insertions(+)
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 ();
More information about the Cygwin-cvs
mailing list