diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6c9f90b71b..a3dead06a8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: run: | sudo apt-get update sudo apt-get install -y cmake g++ libgtest-dev make libssl-dev - sudo apt-get install -y redis valgrind + sudo apt-get install -y valgrind sudo apt-get install -y libsnappy-dev libzstd-dev liblz4-dev - uses: actions/checkout@v2 - name: make @@ -40,7 +40,7 @@ jobs: run: | sudo dnf -y update sudo dnf install -y cmake gcc-c++ gtest-devel make - sudo dnf install -y openssl-devel redis valgrind + sudo dnf install -y openssl-devel valgrind sudo dnf install -y snappy-devel libzstd-devel lz4-devel zlib-devel - name: make run: make KAFKA=y @@ -63,6 +63,7 @@ jobs: prepare: | pkg update -f pkg install -y cmake gmake gcc pkgconf openssl devel/googletest + pkg install -y valgrind pkg install -y snappy zstd liblz4 run: | freebsd-version diff --git a/src/kernel/thrdpool.c b/src/kernel/thrdpool.c index c1be399d71..de6736889b 100644 --- a/src/kernel/thrdpool.c +++ b/src/kernel/thrdpool.c @@ -112,6 +112,8 @@ static void __thrdpool_terminate(int in_pool, thrdpool_t *pool) pthread_mutex_unlock(&pool->mutex); if (!pthread_equal(pool->tid, __zero_tid)) pthread_join(pool->tid, NULL); + + pthread_cond_destroy(&term); } static int __thrdpool_create_threads(size_t nthreads, thrdpool_t *pool) diff --git a/src/manager/UpstreamManager.cc b/src/manager/UpstreamManager.cc index 8bfce2004e..54fe591c0c 100644 --- a/src/manager/UpstreamManager.cc +++ b/src/manager/UpstreamManager.cc @@ -49,6 +49,8 @@ class __UpstreamManager { for (UPSGroupPolicy *policy : this->upstream_policies) delete policy; + + pthread_mutex_destroy(&mutex); } pthread_mutex_t mutex; diff --git a/src/manager/WFGlobal.cc b/src/manager/WFGlobal.cc index d84033bf38..c776f5d7a1 100644 --- a/src/manager/WFGlobal.cc +++ b/src/manager/WFGlobal.cc @@ -461,6 +461,8 @@ class __ExecManager kv.second->deinit(); delete kv.second; } + + pthread_rwlock_destroy(&rwlock_); } private: diff --git a/src/nameservice/UpstreamPolicies.cc b/src/nameservice/UpstreamPolicies.cc index 7d2f03d8b1..bef8f5434f 100644 --- a/src/nameservice/UpstreamPolicies.cc +++ b/src/nameservice/UpstreamPolicies.cc @@ -38,6 +38,11 @@ class EndpointGroup this->weight = 0; } + ~EndpointGroup() + { + pthread_mutex_destroy(&this->mutex); + } + EndpointAddress *get_one(WFNSTracing *tracing); EndpointAddress *get_one_backup(WFNSTracing *tracing); diff --git a/src/nameservice/WFNameService.cc b/src/nameservice/WFNameService.cc index fb2191f945..0122c15ec5 100644 --- a/src/nameservice/WFNameService.cc +++ b/src/nameservice/WFNameService.cc @@ -141,5 +141,7 @@ WFNameService::~WFNameService() rb_erase(&entry->rb, &this->root); free(entry); } + + pthread_rwlock_destroy(&this->rwlock); } diff --git a/src/nameservice/WFServiceGovernance.cc b/src/nameservice/WFServiceGovernance.cc index 34eca36ff8..61f2e1139c 100644 --- a/src/nameservice/WFServiceGovernance.cc +++ b/src/nameservice/WFServiceGovernance.cc @@ -52,6 +52,9 @@ WFServiceGovernance::~WFServiceGovernance() { for (EndpointAddress *addr : this->servers) delete addr; + + pthread_rwlock_destroy(&this->rwlock); + pthread_mutex_destroy(&this->breaker_lock); } PolicyAddrParams::PolicyAddrParams()