4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-02-21 00:07:36 +08:00

* fhandler.h (fhandler_dev_dsp::base): New method.

(fhandler_dev_dsp::_read): Ditto.
(fhandler_dev_dsp::_write): Ditto.
(fhandler_dev_dsp::_ioctl): Ditto.
(fhandler_dev_dsp::_fixup_after_fork): Ditto.
(fhandler_dev_dsp::_fixup_after_exec): Ditto.
* fhandler_dsp.cc (fhandler_dev_dsp::read): Call real function via base()
pointer.
(fhandler_dev_dsp::write): Ditto.
(fhandler_dev_dsp::ioctl): Ditto.
(fhandler_dev_dsp::fixup_after_fork): Ditto.
(fhandler_dev_dsp::fixup_after_exec): Ditto.
(fhandler_dev_dsp::_read): Rename by adding an leading underscore.
(fhandler_dev_dsp::_write): Ditto.
(fhandler_dev_dsp::_ioctl): Ditto.
(fhandler_dev_dsp::_fixup_after_fork): Ditto.
(fhandler_dev_dsp::_fixup_after_exec): Ditto.
This commit is contained in:
Christopher Faylor 2014-03-17 01:54:13 +00:00
parent f8c68831c3
commit 2e6ce0ebdc
3 changed files with 64 additions and 6 deletions

View File

@ -1,3 +1,23 @@
2014-03-16 Christopher Faylor <me.cygwin2014@cgf.cx>
* fhandler.h (fhandler_dev_dsp::base): New method.
(fhandler_dev_dsp::_read): Ditto.
(fhandler_dev_dsp::_write): Ditto.
(fhandler_dev_dsp::_ioctl): Ditto.
(fhandler_dev_dsp::_fixup_after_fork): Ditto.
(fhandler_dev_dsp::_fixup_after_exec): Ditto.
* fhandler_dsp.cc (fhandler_dev_dsp::read): Call real function via
base() pointer.
(fhandler_dev_dsp::write): Ditto.
(fhandler_dev_dsp::ioctl): Ditto.
(fhandler_dev_dsp::fixup_after_fork): Ditto.
(fhandler_dev_dsp::fixup_after_exec): Ditto.
(fhandler_dev_dsp::_read): Rename by adding an leading underscore.
(fhandler_dev_dsp::_write): Ditto.
(fhandler_dev_dsp::_ioctl): Ditto.
(fhandler_dev_dsp::_fixup_after_fork): Ditto.
(fhandler_dev_dsp::_fixup_after_exec): Ditto.
2014-03-12 Corinna Vinschen <corinna@vinschen.de>
* include/cygwin/socket.h (IPV6_JOIN_GROUP): Revert.

View File

@ -1790,16 +1790,23 @@ class fhandler_dev_dsp: public fhandler_base
Audio_in *audio_in_;
public:
fhandler_dev_dsp ();
fhandler_dev_dsp *base () const {return (fhandler_dev_dsp *)archetype;}
int open (int flags, mode_t mode = 0);
ssize_t __stdcall write (const void *ptr, size_t len);
void __reg3 read (void *ptr, size_t& len);
int ioctl (unsigned int cmd, void *);
off_t lseek (off_t, int) { return 0; }
int close ();
void fixup_after_fork (HANDLE parent);
void fixup_after_exec ();
private:
ssize_t __stdcall _write (const void *ptr, size_t len);
void __reg3 _read (void *ptr, size_t& len);
int _ioctl (unsigned int cmd, void *);
void _fixup_after_fork (HANDLE parent);
void _fixup_after_exec ();
void close_audio_in ();
void close_audio_out (bool immediately = false);
bool use_archetype () const {return true;}

View File

@ -1003,6 +1003,37 @@ fhandler_dev_dsp::fhandler_dev_dsp ():
dev ().parse (FH_OSS_DSP);
}
ssize_t __stdcall
fhandler_dev_dsp::write (const void *ptr, size_t len)
{
return base ()->_write (ptr, len);
}
void __reg3
fhandler_dev_dsp::read (void *ptr, size_t& len)
{
return base ()->_read (ptr, len);
}
int
fhandler_dev_dsp::ioctl (unsigned int cmd, void *)
{
return base ()->_ioctl (cmd, NULL);
}
void
fhandler_dev_dsp::fixup_after_fork (HANDLE parent)
{
base ()->fixup_after_fork (parent);
}
void
fhandler_dev_dsp::fixup_after_exec ()
{
base ()->fixup_after_exec ();
}
int
fhandler_dev_dsp::open (int flags, mode_t mode)
{
@ -1046,7 +1077,7 @@ fhandler_dev_dsp::open (int flags, mode_t mode)
#define IS_READ() ((get_flags() & O_ACCMODE) != O_WRONLY)
ssize_t __stdcall
fhandler_dev_dsp::write (const void *ptr, size_t len)
fhandler_dev_dsp::_write (const void *ptr, size_t len)
{
debug_printf ("ptr=%p len=%ld", ptr, len);
int len_s = len;
@ -1092,7 +1123,7 @@ fhandler_dev_dsp::write (const void *ptr, size_t len)
}
void __reg3
fhandler_dev_dsp::read (void *ptr, size_t& len)
fhandler_dev_dsp::_read (void *ptr, size_t& len)
{
debug_printf ("ptr=%p len=%ld", ptr, len);
@ -1159,7 +1190,7 @@ fhandler_dev_dsp::close ()
}
int
fhandler_dev_dsp::ioctl (unsigned int cmd, void *buf)
fhandler_dev_dsp::_ioctl (unsigned int cmd, void *buf)
{
debug_printf ("audio_in=%p audio_out=%p", audio_in_, audio_out_);
int *intbuf = (int *) buf;
@ -1362,7 +1393,7 @@ fhandler_dev_dsp::ioctl (unsigned int cmd, void *buf)
}
void
fhandler_dev_dsp::fixup_after_fork (HANDLE parent)
fhandler_dev_dsp::_fixup_after_fork (HANDLE parent)
{ // called from new child process
debug_printf ("audio_in=%p audio_out=%p",
audio_in_, audio_out_);
@ -1375,7 +1406,7 @@ fhandler_dev_dsp::fixup_after_fork (HANDLE parent)
}
void
fhandler_dev_dsp::fixup_after_exec ()
fhandler_dev_dsp::_fixup_after_exec ()
{
debug_printf ("audio_in=%p audio_out=%p, close_on_exec %d",
audio_in_, audio_out_, close_on_exec ());