diff options
author | Corey Farrell <git@cfware.com> | 2015-03-13 01:12:35 +0000 |
---|---|---|
committer | Corey Farrell <git@cfware.com> | 2015-03-13 01:12:35 +0000 |
commit | c08fd275bf8c45dc09084f104521cbff04eab25b (patch) | |
tree | 09cc14b9a9190254980ec88b981d6f561ec8a9b5 /main/autoservice.c | |
parent | 38ee441ea7debef3ebf6b162fc290b121fa3588d (diff) |
Logger: Convert 'struct ast_callid' to unsigned int.
Switch logger callid's from AO2 objects to simple integers.
This helps in two ways. Copying integers is faster than
referencing AO2 objects, so this will result in a small
reduction in logger overhead. This also erases the possibility
of an infinate loop caused by an invalid callid in
threadstorage.
ASTERISK-24833 #comment Committed callid conversion to trunk.
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/4466/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@432834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/autoservice.c')
-rw-r--r-- | main/autoservice.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/main/autoservice.c b/main/autoservice.c index 371464398..9630990d1 100644 --- a/main/autoservice.c +++ b/main/autoservice.c @@ -78,7 +78,7 @@ static int as_chan_list_state; static void *autoservice_run(void *ign) { - struct ast_callid *callid = NULL; + ast_callid callid = 0; struct ast_frame hangup_frame = { .frametype = AST_FRAME_CONTROL, .subclass.integer = AST_CONTROL_HANGUP, @@ -132,9 +132,6 @@ static void *autoservice_run(void *ign) callid = ast_channel_callid(chan); ast_callid_threadassoc_change(callid); - if (callid) { - callid = ast_callid_unref(callid); - } f = ast_read(chan); @@ -184,7 +181,7 @@ static void *autoservice_run(void *ign) * If we did, we'd need to ast_frfree(f) if (f). */ } - ast_callid_threadassoc_change(NULL); + ast_callid_threadassoc_change(0); asthread = AST_PTHREADT_NULL; return NULL; |