diff options
Diffstat (limited to 'winsup/cygwin/fhandler_dsp.cc')
-rw-r--r-- | winsup/cygwin/fhandler_dsp.cc | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/winsup/cygwin/fhandler_dsp.cc b/winsup/cygwin/fhandler_dsp.cc index 6a10a24f9..c3e185af0 100644 --- a/winsup/cygwin/fhandler_dsp.cc +++ b/winsup/cygwin/fhandler_dsp.cc @@ -1109,17 +1109,20 @@ fhandler_dev_dsp::close_audio_out (bool immediately) } int -fhandler_dev_dsp::close (void) +fhandler_dev_dsp::close () { debug_printf ("audio_in=%08x audio_out=%08x", (int)audio_in_, (int)audio_out_); - if ((fhandler_dev_dsp *) archetype != this) - return ((fhandler_dev_dsp *)archetype)->close (); - - if (--usecount == 0) + if (!hExeced) { - close_audio_in (); - close_audio_out (exit_state != ES_NOT_EXITING); + if ((fhandler_dev_dsp *) archetype != this) + return ((fhandler_dev_dsp *) archetype)->close (); + + if (--usecount == 0) + { + close_audio_in (); + close_audio_out (exit_state != ES_NOT_EXITING); + } } return 0; } @@ -1343,12 +1346,6 @@ fhandler_dev_dsp::ioctl (unsigned int cmd, void *ptr) } void -fhandler_dev_dsp::dump () -{ - paranoid_printf ("here"); -} - -void fhandler_dev_dsp::fixup_after_fork (HANDLE parent) { // called from new child process debug_printf ("audio_in=%08x audio_out=%08x", |