Summary: | ASTERISK-28862: res_musiconhold: Race condition between starting/stopping | ||
Reporter: | Joshua C. Colp (jcolp) | Labels: | |
Date Opened: | 2020-04-29 11:13:24 | Date Closed: | |
Priority: | Minor | Regression? | No |
Status: | Open/New | Components: | Resources/res_musiconhold |
Versions: | 13.32.0 16.9.0 17.3.0 | Frequency of Occurrence | |
Related Issues: | |||
Environment: | Attachments: | ( 0) softmix_unhold.txt | |
Description: | Given a scenario where music on hold is started from one thread and it is stopped in another it is possible for music on hold to not actually be stopped, when it should be. The attached full log shows this happening. | ||
Comments: | By: Joshua C. Colp (jcolp) 2020-04-29 11:20:13.597-0500 Once fixed please remove the delay from the rest_api/bridges/softmix_unhold test. By: Sean Bright (seanbright) 2020-09-18 15:22:16.294-0500 [For later reference|https://github.com/asterisk/asterisk/blob/17a878dd9945e1b395d5d93b2ad88303713e44cc/bridges/bridge_softmix.c#L485-L490]: {noformat} if (ast_channel_hold_state(bridge_channel->chan) == AST_CONTROL_HOLD) { ast_debug(1, "Channel %s simulating UNHOLD for bridge softmix join.\n", ast_channel_name(bridge_channel->chan)); ast_indicate(bridge_channel->chan, AST_CONTROL_UNHOLD); } {noformat} |