diff options
author | Mohit Agrawal <moagrawa@redhat.com> | 2017-12-12 13:16:52 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2017-12-13 13:24:44 +0000 |
commit | 8b8fea1a801f837a75307f4cd8e79e808760cb0b (patch) | |
tree | 1bd1f32694d884eaf7f63e8d6d2e27841a0af5cb /xlators/features/changelog/src/changelog-rpc.c | |
parent | e255385ae4f4c8a883b3fb96baceba4b143828da (diff) |
features/changelog: changelog threads are not cleaned properly after receive GF_EVENT_CLEANUP
Problem: changelog threads are not cleaned properly after receive
GF_EVENT_CLEANUP while brick mux is enabled
Solution: change changelog notify code path to cleanup threads
properly
BUG: 1524816
Change-Id: I007f4e14e3d557707df738faf222b78c793d5ab5
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
Diffstat (limited to 'xlators/features/changelog/src/changelog-rpc.c')
-rw-r--r-- | xlators/features/changelog/src/changelog-rpc.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/xlators/features/changelog/src/changelog-rpc.c b/xlators/features/changelog/src/changelog-rpc.c index 72b5cdbc7cb..4b2b38cad51 100644 --- a/xlators/features/changelog/src/changelog-rpc.c +++ b/xlators/features/changelog/src/changelog-rpc.c @@ -22,10 +22,11 @@ changelog_cleanup_dispatchers (xlator_t *this, for (count--; count >= 0; count--) { (void) changelog_thread_cleanup (this, priv->ev_dispatcher[count]); + priv->ev_dispatcher[count] = 0; } } -static int +int changelog_cleanup_rpc_threads (xlator_t *this, changelog_priv_t *priv) { int ret = 0; @@ -39,6 +40,8 @@ changelog_cleanup_rpc_threads (xlator_t *this, changelog_priv_t *priv) ret = changelog_thread_cleanup (this, priv->connector); if (ret != 0) goto error_return; + priv->connector = 0; + /** terminate dispatcher thread(s) */ changelog_cleanup_dispatchers (this, priv, priv->nr_dispatchers); |