From d4224fee27a734fa2c75eba009ed07eb65d99294 Mon Sep 17 00:00:00 2001 From: Diego Nakaniwa Date: Fri, 26 Apr 2024 09:17:40 -0400 Subject: [PATCH] =?UTF-8?q?descartar=20eventos=20at=C3=A9=20o=20amid=20ter?= =?UTF-8?q?=20carregado=20a=20lista=20peer=20global?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + src/database/database.c | 9 +++++++-- src/main.c | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 467bbb0..3ed4ed9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ build/*.o +.vscode/* # Backup um amid.conf quando for dar dar um make install amid.conf diff --git a/src/database/database.c b/src/database/database.c index f0ff129..91a670d 100644 --- a/src/database/database.c +++ b/src/database/database.c @@ -32,6 +32,7 @@ #include #include #include +#include /*! * Informação para inicializar a query através do stmt @@ -334,7 +335,7 @@ void *init_thread(void *param){ sd_notify( 0, "READY=1" ); action_complete(ZERO_FILL_ACTION, smanager); - + sd_notifyf( 0, "STATUS=OK" ); int connected_asterisk = 0; @@ -367,7 +368,11 @@ void *init_thread(void *param){ verify_event ( smanager ); - + // reabilitar processamento de eventos órfãos assim que a lista peer global for definida + if(_peer){ + ami_set_disable_events(smanager->ami, 0); + } + /* cada 0,1 segundos esse loop será executado */ usleep( 100000 ); } diff --git a/src/main.c b/src/main.c index cf1334b..b695fd1 100644 --- a/src/main.c +++ b/src/main.c @@ -402,6 +402,9 @@ int main (int argc, char **argv){ ami_set_net( smanager->ami, smanager->config_file.ami_ip, smanager->config_file.ami_port ); ami_set_credentials( smanager->ami, smanager->config_file.ami_username, smanager->config_file.ami_password ); ami_c( smanager->ami ); // start libami_c + + // desabilitar processamento de eventos órfãos até ter a lista global peer definida + ami_set_disable_events(smanager->ami, 1); int attempt = 0; // tentativas verificar se foi conectado pela primeira vez while( !ami_is_connected(smanager->ami) || !ami_is_logged(smanager->ami) ){