diff options
Diffstat (limited to 'xlators/protocol')
-rw-r--r-- | xlators/protocol/server/src/server.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/xlators/protocol/server/src/server.c b/xlators/protocol/server/src/server.c index 73d239f0fb3..4cf4b4aeac1 100644 --- a/xlators/protocol/server/src/server.c +++ b/xlators/protocol/server/src/server.c @@ -970,7 +970,6 @@ server_init (xlator_t *this) { int32_t ret = -1; server_conf_t *conf = NULL; - rpcsvc_listener_t *listener = NULL; char *transport_type = NULL; char *statedump_path = NULL; int total_transport = 0; @@ -1229,8 +1228,12 @@ out: this->fini (this); } - if (listener != NULL) { - rpcsvc_listener_destroy (listener); + if (conf && conf->rpc) { + rpcsvc_listener_t *listener, *next; + list_for_each_entry_safe (listener, next, + &conf->rpc->listeners, list) { + rpcsvc_listener_destroy (listener); + } } } |