]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix MODAPP-224
authorBrian West <brian@freeswitch.org>
Tue, 3 Mar 2009 16:55:07 +0000 (16:55 +0000)
committerBrian West <brian@freeswitch.org>
Tue, 3 Mar 2009 16:55:07 +0000 (16:55 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12368 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/switch_ivr_async.c

index 450399f2b93a2ca93971a9ee75fe2e7d77d8e9c3..82bec090e8329b1e8bfb68133eee7d3629a38fa0 100644 (file)
@@ -182,7 +182,14 @@ static switch_bool_t write_displace_callback(switch_media_bug_t *bug, void *user
                break;
        case SWITCH_ABC_TYPE_CLOSE:
                if (dh) {
+                       switch_core_session_t *session = switch_core_media_bug_get_session(bug);
+                       switch_channel_t *channel;
+
                        switch_core_file_close(&dh->fh);
+
+                       if (session && (channel = switch_core_session_get_channel(session))) {
+                               switch_channel_set_private(channel, dh->file, NULL);
+                       }
                }
                break;
        case SWITCH_ABC_TYPE_READ_REPLACE:
@@ -256,7 +263,14 @@ static switch_bool_t read_displace_callback(switch_media_bug_t *bug, void *user_
                break;
        case SWITCH_ABC_TYPE_CLOSE:
                if (dh) {
+                       switch_core_session_t *session = switch_core_media_bug_get_session(bug);
+                       switch_channel_t *channel;
+
                        switch_core_file_close(&dh->fh);
+
+                       if (session && (channel = switch_core_session_get_channel(session))) {
+                               switch_channel_set_private(channel, dh->file, NULL);
+                       }
                }
                break;
        case SWITCH_ABC_TYPE_WRITE_REPLACE: