mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-29 15:36:13 +00:00 
			
		
		
		
	Fix potential deadlocks in res_monitor
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -386,6 +386,7 @@ static int start_monitor_action(struct mansession *s, struct message *m) | |||||||
| 	if( ast_monitor_start( c, format, fname, 1 ) ) { | 	if( ast_monitor_start( c, format, fname, 1 ) ) { | ||||||
| 		if( ast_monitor_change_fname( c, fname, 1 ) ) { | 		if( ast_monitor_change_fname( c, fname, 1 ) ) { | ||||||
| 			astman_send_error(s, m, "Could not start monitoring channel"); | 			astman_send_error(s, m, "Could not start monitoring channel"); | ||||||
|  | 			ast_mutex_unlock(&c->lock); | ||||||
| 			return 0; | 			return 0; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| @@ -457,8 +458,10 @@ static int change_monitor_action(struct mansession *s, struct message *m) | |||||||
| 	} | 	} | ||||||
| 	if( ast_monitor_change_fname( c, fname, 1 ) ) { | 	if( ast_monitor_change_fname( c, fname, 1 ) ) { | ||||||
| 		astman_send_error(s, m, "Could not change monitored filename of channel"); | 		astman_send_error(s, m, "Could not change monitored filename of channel"); | ||||||
|  | 		ast_mutex_unlock(&c->lock); | ||||||
| 		return 0; | 		return 0; | ||||||
| 	} | 	} | ||||||
|  | 	ast_mutex_unlock(&c->lock); | ||||||
| 	astman_send_ack(s, m, "Stopped monitoring channel"); | 	astman_send_ack(s, m, "Stopped monitoring channel"); | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user