diff options
Diffstat (limited to 'xlators/protocol/server/src/server.c')
| -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); +                        }                  }          }  | 
