Since there is no need for the call-id logging ao2 object to have a lock,
don't create it with one.
........
Merged revisions 379232 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379233
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
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;
}