mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Fix error in using ast_channel_snapshot_type before initialization
Starting Asterisk would kick back an ERROR message stating that the Stasis message type ast_channel_snapshot_type was used prior to initialization. This occurred due to the caching topic being created prior to the message type that it depended on. This patch re-orders the start up such that the message type is initialized prior to the caching topic. It also checks the return value of the initialization of the agent login/logoff types. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -969,14 +969,17 @@ int ast_stasis_channels_init(void)
|
|||||||
if (!channel_cache_all) {
|
if (!channel_cache_all) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
STASIS_MESSAGE_TYPE_INIT(ast_channel_agent_login_type);
|
res |= STASIS_MESSAGE_TYPE_INIT(ast_channel_agent_login_type);
|
||||||
STASIS_MESSAGE_TYPE_INIT(ast_channel_agent_logoff_type);
|
res |= STASIS_MESSAGE_TYPE_INIT(ast_channel_agent_logoff_type);
|
||||||
|
|
||||||
channel_cache_by_name = stasis_cache_create(channel_snapshot_get_name);
|
channel_cache_by_name = stasis_cache_create(channel_snapshot_get_name);
|
||||||
if (!channel_cache_by_name) {
|
if (!channel_cache_by_name) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This should be initialized before the caching topic */
|
||||||
|
res |= STASIS_MESSAGE_TYPE_INIT(ast_channel_snapshot_type);
|
||||||
|
|
||||||
channel_by_name_topic = stasis_caching_topic_create(
|
channel_by_name_topic = stasis_caching_topic_create(
|
||||||
stasis_cp_all_topic(channel_cache_all),
|
stasis_cp_all_topic(channel_cache_all),
|
||||||
channel_cache_by_name);
|
channel_cache_by_name);
|
||||||
@@ -984,7 +987,6 @@ int ast_stasis_channels_init(void)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
res |= STASIS_MESSAGE_TYPE_INIT(ast_channel_snapshot_type);
|
|
||||||
res |= STASIS_MESSAGE_TYPE_INIT(ast_channel_dial_type);
|
res |= STASIS_MESSAGE_TYPE_INIT(ast_channel_dial_type);
|
||||||
res |= STASIS_MESSAGE_TYPE_INIT(ast_channel_varset_type);
|
res |= STASIS_MESSAGE_TYPE_INIT(ast_channel_varset_type);
|
||||||
res |= STASIS_MESSAGE_TYPE_INIT(ast_channel_user_event_type);
|
res |= STASIS_MESSAGE_TYPE_INIT(ast_channel_user_event_type);
|
||||||
|
Reference in New Issue
Block a user