After closing g_dsp_fd, set g_dsp_busy to false. This prevents errors of type: ERROR: select: Bad file descriptor

git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1317 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
Peter Åstrand 2006-11-02 11:55:59 +00:00
parent bb039e933b
commit 05d7a550b1

View File

@ -89,6 +89,7 @@ void
oss_close(void)
{
close(g_dsp_fd);
g_dsp_busy = 0;
}
BOOL
@ -123,7 +124,7 @@ oss_set_format(WAVEFORMATEX * pwfx)
if (ioctl(g_dsp_fd, SNDCTL_DSP_SETFMT, &format) == -1)
{
perror("SNDCTL_DSP_SETFMT");
close(g_dsp_fd);
oss_close();
return False;
}
@ -140,7 +141,7 @@ oss_set_format(WAVEFORMATEX * pwfx)
if (ioctl(g_dsp_fd, SNDCTL_DSP_STEREO, &stereo) == -1)
{
perror("SNDCTL_DSP_CHANNELS");
close(g_dsp_fd);
oss_close();
return False;
}
@ -162,7 +163,7 @@ oss_set_format(WAVEFORMATEX * pwfx)
(snd_rate, pwfx->wBitsPerSample, pwfx->nChannels) == False)
{
error("rdpsnd_dsp_resample_set failed");
close(g_dsp_fd);
oss_close();
return False;
}
@ -174,7 +175,7 @@ oss_set_format(WAVEFORMATEX * pwfx)
if (*prates == 0)
{
perror("SNDCTL_DSP_SPEED");
close(g_dsp_fd);
oss_close();
return False;
}
}
@ -191,7 +192,7 @@ oss_set_format(WAVEFORMATEX * pwfx)
if (ioctl(g_dsp_fd, SNDCTL_DSP_GETOSPACE, &info) == -1)
{
perror("SNDCTL_DSP_GETOSPACE");
close(g_dsp_fd);
oss_close();
return False;
}