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:
authorChristopher Faylor <me@cgf.cx>2014-03-17 08:41:35 +0400
committerChristopher Faylor <me@cgf.cx>2014-03-17 08:41:35 +0400
commit4f0b5a097da2464a8d5120ccc64bf9cf24ddd890 (patch)
treefb20ca6ab06b28a3f7197d63158bb91efcaaf43f /winsup/cygwin/fhandler.h
parent600afd99abacfd836b41930c6bc5e014bc5d94e3 (diff)
* sigproc.h (no_thread_exit_protect): New class.
* sigproc.cc (thread_exit): Use no_thread_exit_protect to determine if we need to coordinate ThreadExit/ExitProcess. * fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::stop): Use no_thread_exit_protect to kludge around waiting for waveOutClose as it waits for a thread that never exits. (fhandler_dev_dsp::Audio_in::stop): Ditto for waveInClose. * 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.
Diffstat (limited to 'winsup/cygwin/fhandler.h')
-rw-r--r--winsup/cygwin/fhandler.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h
index 5e86f003c..663009622 100644
--- a/winsup/cygwin/fhandler.h
+++ b/winsup/cygwin/fhandler.h
@@ -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;}