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
This commit is contained in:
Corey Farrell
2015-03-13 01:12:35 +00:00
parent 38ee441ea7
commit c08fd275bf
33 changed files with 182 additions and 373 deletions

View File

@@ -56,7 +56,7 @@ struct ast_dial {
void *user_data; /*!< Attached user data */
AST_LIST_HEAD(, ast_dial_channel) channels; /*!< Channels being dialed */
pthread_t thread; /*!< Thread (if running in async) */
struct ast_callid *callid; /*!< callid pointer (if running in async) */
ast_callid callid; /*!< callid (if running in async) */
ast_mutex_t lock; /*! Lock to protect the thread information above */
};
@@ -1118,11 +1118,6 @@ int ast_dial_destroy(struct ast_dial *dial)
/* Lock be gone! */
ast_mutex_destroy(&dial->lock);
/* Get rid of the reference to the ast_callid */
if (dial->callid) {
ast_callid_unref(dial->callid);
}
/* Free structure */
ast_free(dial);