diff options
Diffstat (limited to 'xlators/performance')
| -rw-r--r-- | xlators/performance/decompounder/src/decompounder.c | 7 | ||||
| -rw-r--r-- | xlators/performance/io-threads/src/io-threads.c | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/xlators/performance/decompounder/src/decompounder.c b/xlators/performance/decompounder/src/decompounder.c index d3d9b9f7830..095a300e9f4 100644 --- a/xlators/performance/decompounder/src/decompounder.c +++ b/xlators/performance/decompounder/src/decompounder.c @@ -946,5 +946,12 @@ out: int32_t fini (xlator_t *this) { + if (!this) + return 0; + + if (this->local_pool) { + mem_pool_destroy (this->local_pool); + this->local_pool = NULL; + } return 0; } diff --git a/xlators/performance/io-threads/src/io-threads.c b/xlators/performance/io-threads/src/io-threads.c index 7b4b316c4b9..fd03296f46f 100644 --- a/xlators/performance/io-threads/src/io-threads.c +++ b/xlators/performance/io-threads/src/io-threads.c @@ -370,7 +370,8 @@ iot_schedule (call_frame_t *frame, xlator_t *this, call_stub_t *stub) out: gf_msg_debug (this->name, 0, "%s scheduled as %s fop", gf_fop_list[stub->fop], iot_get_pri_meaning (pri)); - ret = do_iot_schedule (this->private, stub, pri); + if (this->private) + ret = do_iot_schedule (this->private, stub, pri); return ret; } @@ -1286,8 +1287,7 @@ notify (xlator_t *this, int32_t event, void *data, ...) { iot_conf_t *conf = this->private; - if ((GF_EVENT_PARENT_DOWN == event) || - (GF_EVENT_CLEANUP == event)) + if (GF_EVENT_PARENT_DOWN == event) iot_exit_threads (conf); default_notify (this, event, data); |
