From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7868) id CA14D3858D39; Thu, 19 Jan 2023 13:54:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CA14D3858D39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1674136494; bh=mhGQbmz9dA7XgIekHzEHr4aKN53yc8xdZ2nvXc+U4Gc=; h=From:To:Subject:Date:From; b=l2nFCo28O7LQsUfN6z+M2PPd9hTRt/1Ii6WmU+bjnku3wsfPBDWbUdt48Pu+owGXx E2k9bbCrDSD2zkrB0mz5z8kr4DgB5a+UiQD7ovDa6BwcNBHtb058SRT3xs3ycN97QW Ihheiezf1nO4LeGgFKhIMq4QFLcQhuJVNDP1b97g= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Takashi Yano To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin/cygwin-3_4-branch] Cygwin: dsp: Fix a problem that fcntl() does not take effect. X-Act-Checkin: newlib-cygwin X-Git-Author: Takashi Yano X-Git-Refname: refs/heads/cygwin-3_4-branch X-Git-Oldrev: 0aa1c038196d04d0dfc8dc0f0f30e247e0c1e1e3 X-Git-Newrev: c45b043a9424dbfebd7aacbf161ae897a3b15909 Message-Id: <20230119135454.CA14D3858D39@sourceware.org> Date: Thu, 19 Jan 2023 13:54:54 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3Dc45b043a942= 4dbfebd7aacbf161ae897a3b15909 commit c45b043a9424dbfebd7aacbf161ae897a3b15909 Author: Takashi Yano Date: Thu Jan 19 22:02:47 2023 +0900 Cygwin: dsp: Fix a problem that fcntl() does not take effect. =20 Previously, fhandler_dev_dsp (OSS) has a problem that fcntl() does not take effect at all. This patch fixes the issue. =20 Signed-off-by: Takashi Yano Reviewed-by: Corinna Vinschen 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); } =20 +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 *bu= f) } } =20 +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 ();