mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 18:55:19 +00:00 
			
		
		
		
	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: https://origsvn.digium.com/svn/asterisk/trunk@138028 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -152,14 +152,7 @@ static void *autoservice_run(void *ign) | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		if (!defer_frame) { | 		if (defer_frame) { | ||||||
| 			if (f) { |  | ||||||
| 				ast_frfree(f); |  | ||||||
| 			} |  | ||||||
| 			continue; |  | ||||||
| 		} |  | ||||||
|  |  | ||||||
| 		if (f) { |  | ||||||
| 			for (i = 0; i < x; i++) { | 			for (i = 0; i < x; i++) { | ||||||
| 				struct ast_frame *dup_f; | 				struct ast_frame *dup_f; | ||||||
| 				 | 				 | ||||||
| @@ -167,12 +160,15 @@ static void *autoservice_run(void *ign) | |||||||
| 					continue; | 					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); | 					AST_LIST_INSERT_TAIL(&ents[i]->deferred_frames, dup_f, frame_list); | ||||||
| 				} | 				} | ||||||
| 				 | 				 | ||||||
| 				break; | 				break; | ||||||
| 			} | 			} | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		if (f) { | ||||||
| 			ast_frfree(f); | 			ast_frfree(f); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user