aboutsummaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-19 13:04:24 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-19 13:04:24 +0000
commitb5209de637ea870f570e6bcd661ff770c0ca5ef1 (patch)
tree9f0b3277a8cf43ec2257cd7eddb2fa5ac22acdae /res
parent6aea61508f7f3693691a177f1f290b5facc64670 (diff)
Merged revisions 69847 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r69847 | file | 2007-06-19 09:00:57 -0400 (Tue, 19 Jun 2007) | 10 lines Merged revisions 69846 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r69846 | file | 2007-06-19 08:57:55 -0400 (Tue, 19 Jun 2007) | 2 lines Add parked call extension AFTER the parking slot has been announced, otherwise two threads will try to handle the same channel and it will go kaboom. (issue #9191 reported by japple) ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@69850 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res')
-rw-r--r--res/res_features.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/res/res_features.c b/res/res_features.c
index 7575b2797..60f034e2f 100644
--- a/res/res_features.c
+++ b/res/res_features.c
@@ -468,13 +468,13 @@ int ast_park_call(struct ast_channel *chan, struct ast_channel *peer, int timeou
con = ast_context_create(NULL, parking_con, registrar);
if (!con) /* Still no context? Bad */
ast_log(LOG_ERROR, "Parking context '%s' does not exist and unable to create\n", parking_con);
- else { /* Add extension to context */
- if (!ast_add_extension2(con, 1, pu->parkingexten, 1, NULL, NULL, parkedcall, ast_strdup(pu->parkingexten), ast_free, registrar))
- notify_metermaids(pu->parkingexten, parking_con);
- }
/* Tell the peer channel the number of the parking space */
if (peer && pu->parkingnum != -1) /* Only say number if it's a number */
ast_say_digits(peer, pu->parkingnum, "", peer->language);
+ if (con) {
+ if (!ast_add_extension2(con, 1, pu->parkingexten, 1, NULL, NULL, parkedcall, ast_strdup(pu->parkingexten), ast_free, registrar))
+ notify_metermaids(pu->parkingexten, parking_con);
+ }
if (pu->notquiteyet) {
/* Wake up parking thread if we're really done */
ast_indicate_data(pu->chan, AST_CONTROL_HOLD,