diff options
author | Takashi Yano <takashi.yano@nifty.ne.jp> | 2023-01-19 16:02:47 +0300 |
---|---|---|
committer | Takashi Yano <takashi.yano@nifty.ne.jp> | 2023-01-19 16:54:12 +0300 |
commit | 9522166db1d2a8c551652d7f17ab3ff692cc4d19 (patch) | |
tree | 8242d0d9252c49079e2eb6d76f081ce7a9e6ebfd | |
parent | 3c2ac163da888cf69d855c9becf643dbc6ebd94f (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.cc | 12 | ||||
-rw-r--r-- | winsup/cygwin/local_includes/fhandler.h | 2 |
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 (); |