summaryrefslogtreecommitdiff
path: root/include/asterisk
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2012-11-16 04:33:53 +0000
committerMark Michelson <mmichelson@digium.com>2012-11-16 04:33:53 +0000
commit12de4198b83cd30ae1f991ee3ea8e752b39898e0 (patch)
tree2d84a7a3e8888330d15c1105c0cc2f6e23f850d2 /include/asterisk
parente8898ec8bab18c6c6cadc94f4b2c33a623f5a46f (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.h12
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
*