mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-25 22:18:07 +00:00
Merge "logger: Simplify ast_callid handling code."
This commit is contained in:
@@ -1764,13 +1764,7 @@ void ast_callid_strnprint(char *buffer, size_t buffer_size, ast_callid callid)
|
|||||||
|
|
||||||
ast_callid ast_create_callid(void)
|
ast_callid ast_create_callid(void)
|
||||||
{
|
{
|
||||||
ast_callid call;
|
return ast_atomic_fetchadd_int(&next_unique_callid, +1);
|
||||||
|
|
||||||
call = ast_atomic_fetchadd_int(&next_unique_callid, +1);
|
|
||||||
#ifdef TEST_FRAMEWORK
|
|
||||||
ast_debug(3, "CALL_ID [C-%08x] created by thread.\n", call);
|
|
||||||
#endif
|
|
||||||
return call;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ast_callid ast_read_threadstorage_callid(void)
|
ast_callid ast_read_threadstorage_callid(void)
|
||||||
@@ -1780,7 +1774,6 @@ ast_callid ast_read_threadstorage_callid(void)
|
|||||||
callid = ast_threadstorage_get(&unique_callid, sizeof(*callid));
|
callid = ast_threadstorage_get(&unique_callid, sizeof(*callid));
|
||||||
|
|
||||||
return callid ? *callid : 0;
|
return callid ? *callid : 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int ast_callid_threadassoc_change(ast_callid callid)
|
int ast_callid_threadassoc_change(ast_callid callid)
|
||||||
@@ -1788,23 +1781,10 @@ int ast_callid_threadassoc_change(ast_callid callid)
|
|||||||
ast_callid *id = ast_threadstorage_get(&unique_callid, sizeof(*id));
|
ast_callid *id = ast_threadstorage_get(&unique_callid, sizeof(*id));
|
||||||
|
|
||||||
if (!id) {
|
if (!id) {
|
||||||
ast_log(LOG_ERROR, "Failed to allocate thread storage.\n");
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*id && (*id != callid)) {
|
*id = callid;
|
||||||
#ifdef TEST_FRAMEWORK
|
|
||||||
ast_debug(3, "CALL_ID [C-%08x] being removed from thread.\n", *id);
|
|
||||||
#endif
|
|
||||||
*id = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(*id) && callid) {
|
|
||||||
*id = callid;
|
|
||||||
#ifdef TEST_FRAMEWORK
|
|
||||||
ast_debug(3, "CALL_ID [C-%08x] bound to thread.\n", callid);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -1814,21 +1794,17 @@ int ast_callid_threadassoc_add(ast_callid callid)
|
|||||||
ast_callid *pointing;
|
ast_callid *pointing;
|
||||||
|
|
||||||
pointing = ast_threadstorage_get(&unique_callid, sizeof(*pointing));
|
pointing = ast_threadstorage_get(&unique_callid, sizeof(*pointing));
|
||||||
if (!(pointing)) {
|
if (!pointing) {
|
||||||
ast_log(LOG_ERROR, "Failed to allocate thread storage.\n");
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(*pointing)) {
|
if (*pointing) {
|
||||||
*pointing = callid;
|
ast_log(LOG_ERROR, "ast_callid_threadassoc_add(C-%08x) on thread "
|
||||||
#ifdef TEST_FRAMEWORK
|
"already associated with callid [C-%08x].\n", callid, *pointing);
|
||||||
ast_debug(3, "CALL_ID [C-%08x] bound to thread.\n", callid);
|
|
||||||
#endif
|
|
||||||
} else {
|
|
||||||
ast_log(LOG_WARNING, "Attempted to ast_callid_threadassoc_add on thread already associated with a callid.\n");
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*pointing = callid;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1837,21 +1813,16 @@ int ast_callid_threadassoc_remove(void)
|
|||||||
ast_callid *pointing;
|
ast_callid *pointing;
|
||||||
|
|
||||||
pointing = ast_threadstorage_get(&unique_callid, sizeof(*pointing));
|
pointing = ast_threadstorage_get(&unique_callid, sizeof(*pointing));
|
||||||
if (!(pointing)) {
|
if (!pointing) {
|
||||||
ast_log(LOG_ERROR, "Failed to allocate thread storage.\n");
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(*pointing)) {
|
if (*pointing) {
|
||||||
ast_log(LOG_ERROR, "Tried to clean callid thread storage with no callid in thread storage.\n");
|
|
||||||
return -1;
|
|
||||||
} else {
|
|
||||||
#ifdef TEST_FRAMEWORK
|
|
||||||
ast_debug(3, "CALL_ID [C-%08x] being removed from thread.\n", *pointing);
|
|
||||||
#endif
|
|
||||||
*pointing = 0;
|
*pointing = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ast_callid_threadstorage_auto(ast_callid *callid)
|
int ast_callid_threadstorage_auto(ast_callid *callid)
|
||||||
|
|||||||
Reference in New Issue
Block a user