dect
/
asterisk
Archived
13
0
Fork 0

Fixed possible hangup race condition that would lead to segfualt with hangups.

git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6516 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
mattf 2005-09-06 17:50:55 +00:00
parent e565b26978
commit 9d390fa52b
1 changed files with 2 additions and 1 deletions

View File

@ -2347,6 +2347,7 @@ static int zt_hangup(struct ast_channel *ast)
icause = atoi(cause);
}
pri_hangup(p->pri->pri, p->call, icause);
p->call = NULL;
}
if (res < 0)
ast_log(LOG_WARNING, "pri_disconnect failed\n");
@ -3463,6 +3464,7 @@ static struct ast_frame *zt_handle_event(struct ast_channel *ast)
if (!pri_grab(p, p->pri)) {
pri_hangup(p->pri->pri, p->call, -1);
pri_destroycall(p->pri->pri, p->call);
p->call = NULL;
pri_rel(p->pri);
} else
ast_log(LOG_WARNING, "Failed to grab PRI!\n");
@ -3471,7 +3473,6 @@ static struct ast_frame *zt_handle_event(struct ast_channel *ast)
}
if (p->owner)
p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
p->call = NULL;
if (p->bearer)
p->bearer->inalarm = 1;
else