Skip to content

Commit

Permalink
say: Abort play loop if caller hangs up.
Browse files Browse the repository at this point in the history
If the caller has hung up, break out of the play loop so we don't try
to play remaining files and fail to do so.

ASTERISK-30075 #close

Change-Id: I55e85be28ee90b48c0fe4ce20ac136a7dbb49f14
  • Loading branch information
InterLinked1 authored and Friendly Automation committed Jun 30, 2022
1 parent a3b2daf commit 0f0cc43
Showing 1 changed file with 3 additions and 9 deletions.
12 changes: 3 additions & 9 deletions main/say.c
Expand Up @@ -189,19 +189,13 @@ static int say_filenames(struct ast_channel *chan, const char *ints, const char

files = ast_str_buffer(filenames);

while ((fn = strsep(&files, "&"))) {
while (!res && (fn = strsep(&files, "&"))) {
res = ast_streamfile(chan, fn, lang);
if (!res) {
if ((audiofd > -1) && (ctrlfd > -1))
if ((audiofd > -1) && (ctrlfd > -1)) {
res = ast_waitstream_full(chan, ints, audiofd, ctrlfd);
else
} else {
res = ast_waitstream(chan, ints);

if (res > 0) {
/* We were interrupted by a digit */
ast_stopstream(chan);
ast_free(filenames);
return res;
}
}
ast_stopstream(chan);
Expand Down

0 comments on commit 0f0cc43

Please sign in to comment.