From 7ed7d525fb5d2fff6eb997b5a3b564ada83d95e0 Mon Sep 17 00:00:00 2001
From: Richard Mudgett <rmudgett@digium.com>
Date: Tue, 16 Jan 2018 08:32:20 -0600
Subject: [PATCH] taskprocessor.c: Increase the number of tps_singletons
 container buckets.

Since v12 the number of taskprocessors in the system has increased a lot.
Small systems can easily have over a hundred and larger systems can have
thousands.

Most uses of the tps_singletons container deal with creating and
destroying the taskprocessors.  However, the pjsip distributor looks up
taskprocessors/serializers by name frequently.  It needs to find the
serializer for incoming SIP responses to distribute them to the
appropriate serializer.

Change-Id: Ice0603606614ba49f7c0c316c524735c064e7e43
---
 main/taskprocessor.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/main/taskprocessor.c b/main/taskprocessor.c
index 6793542abf..cf82efff2d 100644
--- a/main/taskprocessor.c
+++ b/main/taskprocessor.c
@@ -112,7 +112,13 @@ struct ast_taskprocessor_listener {
 	void *user_data;
 };
 
-#define TPS_MAX_BUCKETS 7
+#ifdef LOW_MEMORY
+#define TPS_MAX_BUCKETS 61
+#else
+/*! \brief Number of buckets in the tps_singletons container. */
+#define TPS_MAX_BUCKETS 1567
+#endif
+
 /*! \brief tps_singletons is the astobj2 container for taskprocessor singletons */
 static struct ao2_container *tps_singletons;
 
-- 
GitLab