diff --git a/bundles/pubsub/pubsub_topology_manager/src/pubsub_topology_manager.c b/bundles/pubsub/pubsub_topology_manager/src/pubsub_topology_manager.c index 8397a6715..4b4ad90b3 100644 --- a/bundles/pubsub/pubsub_topology_manager/src/pubsub_topology_manager.c +++ b/bundles/pubsub/pubsub_topology_manager/src/pubsub_topology_manager.c @@ -39,7 +39,7 @@ #include "pubsub_admin.h" #include "../../pubsub_admin_udp_mc/src/pubsub_udpmc_topic_sender.h" -#define PSTM_PSA_HANDLING_SLEEPTIME_IN_SECONDS 30L +#define PSTM_PSA_HANDLING_DEFAULT_SLEEPTIME_IN_SECONDS 30L #ifndef UUID_STR_LEN #define UUID_STR_LEN 37 @@ -79,6 +79,7 @@ celix_status_t pubsub_topologyManager_create(celix_bundle_context_t *context, ce manager->loghelper = logHelper; manager->verbose = celix_bundleContext_getPropertyAsBool(context, PUBSUB_TOPOLOGY_MANAGER_VERBOSE_KEY, PUBSUB_TOPOLOGY_MANAGER_DEFAULT_VERBOSE); + manager->handlingThreadSleepTime = celix_bundleContext_getPropertyAsLong(context, PUBSUB_TOPOLOGY_MANAGER_HANDLING_THREAD_SLEEPTIME_SECONDS_KEY, PSTM_PSA_HANDLING_DEFAULT_SLEEPTIME_IN_SECONDS); manager->psaHandling.running = true; celixThread_create(&manager->psaHandling.thread, NULL, pstm_psaHandlingThread, manager); @@ -1107,7 +1108,7 @@ static void *pstm_psaHandlingThread(void *data) { pstm_findPsaForEndpoints(manager); //trying to find psa and possible set for endpoints with no psa celixThreadMutex_lock(&manager->psaHandling.mutex); - celixThreadCondition_timedwaitRelative(&manager->psaHandling.cond, &manager->psaHandling.mutex, PSTM_PSA_HANDLING_SLEEPTIME_IN_SECONDS, 0L); + celixThreadCondition_timedwaitRelative(&manager->psaHandling.cond, &manager->psaHandling.mutex, manager->handlingThreadSleepTime, 0L); running = manager->psaHandling.running; celixThreadMutex_unlock(&manager->psaHandling.mutex); } diff --git a/bundles/pubsub/pubsub_topology_manager/src/pubsub_topology_manager.h b/bundles/pubsub/pubsub_topology_manager/src/pubsub_topology_manager.h index 9f5ef4943..842d8613b 100644 --- a/bundles/pubsub/pubsub_topology_manager/src/pubsub_topology_manager.h +++ b/bundles/pubsub/pubsub_topology_manager/src/pubsub_topology_manager.h @@ -31,6 +31,7 @@ #include "pubsub/subscriber.h" #define PUBSUB_TOPOLOGY_MANAGER_VERBOSE_KEY "PUBSUB_TOPOLOGY_MANAGER_VERBOSE" +#define PUBSUB_TOPOLOGY_MANAGER_HANDLING_THREAD_SLEEPTIME_SECONDS_KEY "PUBSUB_TOPOLOGY_MANAGER_HANDLING_THREAD_SLEEPTIME_SECONDS" #define PUBSUB_TOPOLOGY_MANAGER_DEFAULT_VERBOSE false @@ -76,6 +77,7 @@ typedef struct pubsub_topology_manager { celix_log_helper_t *loghelper; + unsigned handlingThreadSleepTime; bool verbose; } pubsub_topology_manager_t; diff --git a/bundles/pubsub/test/CMakeLists.txt b/bundles/pubsub/test/CMakeLists.txt index 8b7e06189..a78958aed 100644 --- a/bundles/pubsub/test/CMakeLists.txt +++ b/bundles/pubsub/test/CMakeLists.txt @@ -173,12 +173,6 @@ if (BUILD_PUBSUB_PSA_UDP_MC) add_test(NAME pstm_deadlock_udpmc_test COMMAND pstm_deadlock_udpmc_test WORKING_DIRECTORY $) setup_target_for_coverage(pstm_deadlock_udpmc_test SCAN_DIR ..) - #TCP Endpoint test is disabled because the test is not stable when running on Travis - if (ENABLE_PUBSUB_PSA_TCP_ENDPOINT_TEST) - add_test(NAME pubsub_tcp_endpoint_tests COMMAND pubsub_tcp_endpoint_tests WORKING_DIRECTORY $) - setup_target_for_coverage(pubsub_tcp_endpoint_tests SCAN_DIR ..) - endif() - #TODO fix issues with UDPMC and reanble test again #add_test(NAME pubsub_udpmc_tests COMMAND pubsub_udpmc_tests WORKING_DIRECTORY $) #setup_target_for_coverage(pubsub_udpmc_tests SCAN_DIR ..)