]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[mod_amqp] open logging and produced connections from within their respective threads 64/head
authorcdosoftei <ciprian.dosoftei@gmail.com>
Thu, 17 Oct 2019 19:38:38 +0000 (15:38 -0400)
committercdosoftei <ciprian.dosoftei@gmail.com>
Thu, 17 Oct 2019 19:38:38 +0000 (15:38 -0400)
src/mod/event_handlers/mod_amqp/mod_amqp_logging.c
src/mod/event_handlers/mod_amqp/mod_amqp_producer.c

index dd6fa599d9d60697c4ec51ad4824700771b124eb..01d08960fa7e109a47b3ab1f4d1d27fe282c90af 100644 (file)
@@ -238,34 +238,7 @@ switch_status_t mod_amqp_logging_create(char *name, switch_xml_t cfg)
                }
        }
        profile->conn_active = NULL;
-
-       if ( mod_amqp_connection_open(profile->conn_root, &(profile->conn_active), profile->name, profile->custom_attr) != SWITCH_STATUS_SUCCESS) {
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Profile[%s] was unable to connect to any connection\n", profile->name);
-               goto err;
-       }
-
-#if AMQP_VERSION_MAJOR == 0 && AMQP_VERSION_MINOR >= 6
-       amqp_exchange_declare(profile->conn_active->state, 1,
-                                                 amqp_cstring_bytes(profile->exchange),
-                                                 amqp_cstring_bytes(profile->exchange_type),
-                                                 0, /* passive */
-                                                 profile->exchange_durable,
-                                                 profile->exchange_auto_delete,
-                                                 0,
-                                                 amqp_empty_table);
-#else
-       amqp_exchange_declare(profile->conn_active->state, 1,
-                                                 amqp_cstring_bytes(profile->exchange),
-                                                 amqp_cstring_bytes(profile->exchange_type),
-                                                 0, /* passive */
-                                                 profile->exchange_durable,
-                                                 amqp_empty_table);
-#endif
-
-       if (mod_amqp_log_if_amqp_error(amqp_get_rpc_reply(profile->conn_active->state), "Declaring exchange")) {
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Profile[%s] failed to create exchange\n", profile->name);
-               goto err;
-       }
+       /* We are not going to open the logging queue connection on create, but instead wait for the running thread to open it */
 
        /* Create a bounded FIFO queue for sending messages */
        if (switch_queue_create(&(profile->send_queue), profile->send_queue_size, profile->pool) != SWITCH_STATUS_SUCCESS) {
index d4479b1752949c13f788eab88b9554b518aba17a..d7741d3f414929b8fd5170351025ddbf860d6dc4 100644 (file)
@@ -325,33 +325,7 @@ switch_status_t mod_amqp_producer_create(char *name, switch_xml_t cfg)
                }
        }
        profile->conn_active = NULL;
-
-       if ( mod_amqp_connection_open(profile->conn_root, &(profile->conn_active), profile->name, profile->custom_attr) != SWITCH_STATUS_SUCCESS) {
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Profile[%s] was unable to connect to any connection\n", profile->name);
-               goto err;
-       }
-#if AMQP_VERSION_MAJOR == 0 && AMQP_VERSION_MINOR >= 6
-       amqp_exchange_declare(profile->conn_active->state, 1,
-                                                 amqp_cstring_bytes(profile->exchange),
-                                                 amqp_cstring_bytes(profile->exchange_type),
-                                                 0, /* passive */
-                                                 profile->exchange_durable,
-                                                 profile->exchange_auto_delete,
-                                                 0,
-                                                 amqp_empty_table);
-#else
-       amqp_exchange_declare(profile->conn_active->state, 1,
-                                                 amqp_cstring_bytes(profile->exchange),
-                                                 amqp_cstring_bytes(profile->exchange_type),
-                                                 0, /* passive */
-                                                 profile->exchange_durable,
-                                                 amqp_empty_table);
-#endif
-
-       if (mod_amqp_log_if_amqp_error(amqp_get_rpc_reply(profile->conn_active->state), "Declaring exchange\n")) {
-               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Profile[%s] failed to create exchange\n", profile->name);
-               goto err;
-       }
+       /* We are not going to open the producer queue connection on create, but instead wait for the running thread to open it */
 
        /* Create a bounded FIFO queue for sending messages */
        if (switch_queue_create(&(profile->send_queue), profile->send_queue_size, profile->pool) != SWITCH_STATUS_SUCCESS) {