mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-30 02:26:23 +00:00
Move AMI initialization to occur after loading modules. This prevents a
deadlock when someone tries to initiate a module reload from the AMI just as Asterisk is starting. (closes issue #13778) Reported by: hotsblanc Fix suggested by hotsblanc git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@151905 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -3061,11 +3061,6 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
ast_channels_init();
|
ast_channels_init();
|
||||||
|
|
||||||
if (init_manager()) {
|
|
||||||
printf(term_quit());
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ast_cdr_engine_init()) {
|
if (ast_cdr_engine_init()) {
|
||||||
printf(term_quit());
|
printf(term_quit());
|
||||||
exit(1);
|
exit(1);
|
||||||
@@ -3115,6 +3110,15 @@ int main(int argc, char *argv[])
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* AMI is initialized after loading modules because of a potential
|
||||||
|
* conflict between issuing a module reload from manager and
|
||||||
|
* registering manager actions. This will cause reversed locking
|
||||||
|
* order between the module list and manager actions list. */
|
||||||
|
if (init_manager()) {
|
||||||
|
printf(term_quit());
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
dnsmgr_start_refresh();
|
dnsmgr_start_refresh();
|
||||||
|
|
||||||
/* We might have the option of showing a console, but for now just
|
/* We might have the option of showing a console, but for now just
|
||||||
|
Reference in New Issue
Block a user