diff options
author | Mark Michelson <mmichelson@digium.com> | 2012-11-16 04:33:53 +0000 |
---|---|---|
committer | Mark Michelson <mmichelson@digium.com> | 2012-11-16 04:33:53 +0000 |
commit | 12de4198b83cd30ae1f991ee3ea8e752b39898e0 (patch) | |
tree | 2d84a7a3e8888330d15c1105c0cc2f6e23f850d2 /include/asterisk | |
parent | e8898ec8bab18c6c6cadc94f4b2c33a623f5a46f (diff) |
Add a shutdown callback to taskprocessor listeners.
This helps account for the fact that it is unknown just
how many references may exist for a given taskprocessor
listener, so simply unreffing it from the taskprocessor
shutdown function is not enough to convey the gravity
of the situation.
By putting in a shutdown callback, it now becomes clear
to the listener not to try to do any further operations
on the taskprocessor.
git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376381 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk')
-rw-r--r-- | include/asterisk/taskprocessor.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/asterisk/taskprocessor.h b/include/asterisk/taskprocessor.h index 5ea14907a..895bc1764 100644 --- a/include/asterisk/taskprocessor.h +++ b/include/asterisk/taskprocessor.h @@ -86,6 +86,18 @@ struct ast_taskprocessor_listener_callbacks { * \param listener The listener */ void (*emptied)(struct ast_taskprocessor_listener *listener); + /*! + * \brief Indicates the taskprocessor wishes to die. + * + * All operations on the task processor must to be stopped in + * this callback. + * + * After this callback returns, it is NOT safe to operate on the + * listener's reference to the taskprocessor. + * + * \param listener The listener + */ + void (*shutdown)(struct ast_taskprocessor_listener *listener); /*! * \brief Destroy the listener's private data * |