channel: Fix some more unprotected channel flag setting.

Change-Id: I34c3b1201b1de539945bcfdcb264fff30332d48c
This commit is contained in:
Richard Mudgett
2018-06-12 15:13:14 -05:00
parent 986cffa18e
commit a470bb9e27
3 changed files with 10 additions and 0 deletions

View File

@@ -10045,7 +10045,9 @@ static void *analog_ss_thread(void *data)
* emulation. The DTMF digits can come so fast that emulation
* can drop some of them.
*/
ast_channel_lock(chan);
ast_set_flag(ast_channel_flags(chan), AST_FLAG_END_DTMF_ONLY);
ast_channel_unlock(chan);
off_ms = 4000;/* This is a typical OFF time between rings. */
for (;;) {
struct ast_frame *f;
@@ -10078,7 +10080,9 @@ static void *analog_ss_thread(void *data)
ast_channel_state(chan) == AST_STATE_RINGING)
break; /* Got ring */
}
ast_channel_lock(chan);
ast_clear_flag(ast_channel_flags(chan), AST_FLAG_END_DTMF_ONLY);
ast_channel_unlock(chan);
dtmfbuf[k] = '\0';
dahdi_setlinear(p->subs[idx].dfd, p->subs[idx].linear);
/* Got cid and ring. */

View File

@@ -2414,7 +2414,9 @@ static void *__analog_ss_thread(void *data)
* emulation. The DTMF digits can come so fast that emulation
* can drop some of them.
*/
ast_channel_lock(chan);
ast_set_flag(ast_channel_flags(chan), AST_FLAG_END_DTMF_ONLY);
ast_channel_unlock(chan);
timeout_ms = 4000;/* This is a typical OFF time between rings. */
for (;;) {
struct ast_frame *f;
@@ -2449,7 +2451,9 @@ static void *__analog_ss_thread(void *data)
break; /* Got ring */
}
}
ast_channel_lock(chan);
ast_clear_flag(ast_channel_flags(chan), AST_FLAG_END_DTMF_ONLY);
ast_channel_unlock(chan);
dtmfbuf[k] = '\0';
analog_set_linear_mode(p, idx, oldlinearity);

View File

@@ -5900,7 +5900,9 @@ struct ast_channel *__ast_request_and_dial(const char *type, struct ast_format_c
*/
ast_set_callerid(chan, cid_num, cid_name, cid_num);
ast_channel_lock(chan);
ast_set_flag(ast_channel_flags(chan), AST_FLAG_ORIGINATED);
ast_channel_unlock(chan);
ast_party_connected_line_set_init(&connected, ast_channel_connected(chan));
if (cid_num) {
connected.id.number.valid = 1;