From cb65f124c5f41dd9bba33e5f7b8b11bf5febd766 Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Wed, 16 Jan 2013 18:08:27 +0000 Subject: [PATCH] Reduce call-id logging resource usage. Since there is no need for the call-id logging ao2 object to have a lock, don't create it with one. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@379232 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/logger.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/main/logger.c b/main/logger.c index 37b8b6ff25..9fad68327b 100644 --- a/main/logger.c +++ b/main/logger.c @@ -1291,16 +1291,14 @@ void ast_callid_strnprint(char *buffer, size_t buffer_size, struct ast_callid *c struct ast_callid *ast_create_callid(void) { struct ast_callid *call; - int using; - if (!(call = ao2_alloc(sizeof(struct ast_callid), NULL))) { + call = ao2_alloc_options(sizeof(struct ast_callid), NULL, AO2_ALLOC_OPT_LOCK_NOLOCK); + if (!call) { ast_log(LOG_ERROR, "Could not allocate callid struct.\n"); return NULL; } - using = ast_atomic_fetchadd_int(&next_unique_callid, +1); - - call->call_identifier = using; + call->call_identifier = ast_atomic_fetchadd_int(&next_unique_callid, +1); ast_debug(3, "CALL_ID [C-%08x] created by thread.\n", call->call_identifier); return call; }