summaryrefslogtreecommitdiff
path: root/res/res_pjsip.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2015-06-19 16:16:17 -0500
committerRichard Mudgett <rmudgett@digium.com>2015-06-25 14:33:44 -0500
commitaf4ae3095e2dc95ffefa864b83fed60b408bc442 (patch)
tree6c3a77293744b6310345f93d87557918a98279d8 /res/res_pjsip.c
parent4c133d81cde27c28e28c1c41528dc9db4b654286 (diff)
threadpool, res_pjsip: Add serializer group shutdown API calls.
A module trying to unload needs to wait for all serializers it creates and uses to complete processing before unloading. ASTERISK-24907 Reported by: Kevin Harwell Change-Id: I8c80b90f2f82754e8dbb02ddf3c9121e5e966059
Diffstat (limited to 'res/res_pjsip.c')
-rw-r--r--res/res_pjsip.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/res/res_pjsip.c b/res/res_pjsip.c
index 8d5adf6a7..23cf2f0dd 100644
--- a/res/res_pjsip.c
+++ b/res/res_pjsip.c
@@ -3327,20 +3327,25 @@ int ast_sip_append_body(pjsip_tx_data *tdata, const char *body_text)
return 0;
}
-struct ast_taskprocessor *ast_sip_create_serializer(void)
+struct ast_taskprocessor *ast_sip_create_serializer_group(struct ast_serializer_shutdown_group *shutdown_group)
{
struct ast_taskprocessor *serializer;
char name[AST_UUID_STR_LEN];
ast_uuid_generate_str(name, sizeof(name));
- serializer = ast_threadpool_serializer(name, sip_threadpool);
+ serializer = ast_threadpool_serializer_group(name, sip_threadpool, shutdown_group);
if (!serializer) {
return NULL;
}
return serializer;
}
+struct ast_taskprocessor *ast_sip_create_serializer(void)
+{
+ return ast_sip_create_serializer_group(NULL);
+}
+
/*!
* \internal
* \brief Shutdown the serializers in the default pool.