Merged revisions 138027 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r138027 | russell | 2008-08-15 10:07:16 -0500 (Fri, 15 Aug 2008) | 9 lines Ensure that when a hangup occurs in autoservice, that a hangup frame gets properly deferred to be read from the channel owner when it gets taken out of autoservice. (closes issue #12874) Reported by: dimas Patches: v1-12874.patch uploaded by dimas (license 88) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@138028 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
9a40998bb3
commit
a5a8f37d9a
|
@ -152,14 +152,7 @@ static void *autoservice_run(void *ign)
|
|||
}
|
||||
}
|
||||
|
||||
if (!defer_frame) {
|
||||
if (f) {
|
||||
ast_frfree(f);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (f) {
|
||||
if (defer_frame) {
|
||||
for (i = 0; i < x; i++) {
|
||||
struct ast_frame *dup_f;
|
||||
|
||||
|
@ -167,12 +160,15 @@ static void *autoservice_run(void *ign)
|
|||
continue;
|
||||
}
|
||||
|
||||
if ((dup_f = ast_frdup(f))) {
|
||||
if ((dup_f = ast_frdup(defer_frame))) {
|
||||
AST_LIST_INSERT_TAIL(&ents[i]->deferred_frames, dup_f, frame_list);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (f) {
|
||||
ast_frfree(f);
|
||||
}
|
||||
}
|
||||
|
|
Reference in New Issue