mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-11 23:28:59 +00:00
Create work around for scheduler leaks during shutdown.
* Added ast_sched_clean_by_callback for cleanup of scheduled events that have not yet fired. * Run all pending peercnt_remove_cb and replace_callno events in chan_iax2. Cleanup of replace_callno events is only run 11, since it no longer releases any references or allocations in 13+. ASTERISK-24451 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4425/ ........ Merged revisions 431916 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 431917 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431918 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -170,6 +170,17 @@ void ast_sched_context_destroy(struct ast_sched_context *c);
|
||||
typedef int (*ast_sched_cb)(const void *data);
|
||||
#define AST_SCHED_CB(a) ((ast_sched_cb)(a))
|
||||
|
||||
/*!
|
||||
* \brief Clean all scheduled events with matching callback.
|
||||
*
|
||||
* \param con Scheduler Context
|
||||
* \param match Callback to match
|
||||
* \param cleanup_cb Callback to run
|
||||
*
|
||||
* \note The return of cleanup_cb is ignored. No events are rescheduled.
|
||||
*/
|
||||
void ast_sched_clean_by_callback(struct ast_sched_context *con, ast_sched_cb match, ast_sched_cb cleanup_cb);
|
||||
|
||||
struct ast_cb_names {
|
||||
int numassocs;
|
||||
char *list[10];
|
||||
|
Reference in New Issue
Block a user