aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_alsa.c
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2005-12-21 20:01:16 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2005-12-21 20:01:16 +0000
commitece4087bb4c7bce1397d5cb2f3fe621868e2181b (patch)
tree6c853136b0453b302f13ab899161a2296c301782 /channels/chan_alsa.c
parent5b4e514a83e5ab448c746f7e4d0858ee6935228c (diff)
Allow a chan_alsa that failed to open sound devices to be unloaded.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@7582 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_alsa.c')
-rw-r--r--channels/chan_alsa.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/channels/chan_alsa.c b/channels/chan_alsa.c
index 9bef8f3c7..6f0d36070 100644
--- a/channels/chan_alsa.c
+++ b/channels/chan_alsa.c
@@ -1109,8 +1109,10 @@ int unload_module()
ast_channel_unregister(&alsa_tech);
for (x=0;x<sizeof(myclis)/sizeof(struct ast_cli_entry); x++)
ast_cli_unregister(myclis + x);
- snd_pcm_close(alsa.icard);
- snd_pcm_close(alsa.ocard);
+ if (alsa.icard)
+ snd_pcm_close(alsa.icard);
+ if (alsa.ocard)
+ snd_pcm_close(alsa.ocard);
if (sndcmd[0] > 0) {
close(sndcmd[0]);
close(sndcmd[1]);