Author: rmudgett Date: Mon Sep 29 15:28:24 2014 New Revision: 424098 URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=424098 Log: threadpool.c: Minor cleanup fixes.
* Fix threadpool_alloc() prototype. * Add missing off-nominal NULL check of pool in threadpool_alloc(). * searializer_create() does not need to create the object with a lock as the lock is not used. ........ Merged revisions 424096 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 424097 from http://svn.asterisk.org/svn/asterisk/branches/13 Modified: trunk/ (props changed) trunk/main/threadpool.c Propchange: trunk/ ------------------------------------------------------------------------------ Binary property 'branch-13-merged' - no diff available. Modified: trunk/main/threadpool.c URL: http://svnview.digium.com/svn/asterisk/trunk/main/threadpool.c?view=diff&rev=424098&r1=424097&r2=424098 ============================================================================== --- trunk/main/threadpool.c (original) +++ trunk/main/threadpool.c Mon Sep 29 15:28:24 2014 @@ -385,13 +385,15 @@ * \retval NULL Could not initialize threadpool properly * \retval non-NULL The newly-allocated threadpool */ -static void *threadpool_alloc(const char *name, const struct ast_threadpool_options *options) -{ - RAII_VAR(struct ast_threadpool *, pool, - ao2_alloc(sizeof(*pool), threadpool_destructor), ao2_cleanup); - struct ast_str *control_tps_name = ast_str_create(64); - - if (!control_tps_name) { +static struct ast_threadpool *threadpool_alloc(const char *name, const struct ast_threadpool_options *options) +{ + RAII_VAR(struct ast_threadpool *, pool, NULL, ao2_cleanup); + struct ast_str *control_tps_name; + + pool = ao2_alloc(sizeof(*pool), threadpool_destructor); + control_tps_name = ast_str_create(64); + if (!pool || !control_tps_name) { + ast_free(control_tps_name); return NULL; } @@ -859,8 +861,9 @@ { struct ast_taskprocessor *tps; RAII_VAR(struct ast_taskprocessor_listener *, tps_listener, NULL, ao2_cleanup); - RAII_VAR(struct ast_threadpool *, pool, threadpool_alloc(name, options), ao2_cleanup); - + RAII_VAR(struct ast_threadpool *, pool, NULL, ao2_cleanup); + + pool = threadpool_alloc(name, options); if (!pool) { return NULL; } @@ -1136,7 +1139,9 @@ static struct serializer *serializer_create(struct ast_threadpool *pool) { - struct serializer *ser = ao2_alloc(sizeof(*ser), serializer_dtor); + struct serializer *ser; + + ser = ao2_alloc_options(sizeof(*ser), serializer_dtor, AO2_ALLOC_OPT_LOCK_NOLOCK); if (!ser) { return NULL; } -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- svn-commits mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/svn-commits
