diff options
Diffstat (limited to 'src/nvim/os/server.c')
-rw-r--r-- | src/nvim/os/server.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/nvim/os/server.c b/src/nvim/os/server.c index e9a11809ae..9cf0f53c70 100644 --- a/src/nvim/os/server.c +++ b/src/nvim/os/server.c @@ -45,7 +45,6 @@ typedef struct { static Map *servers = NULL; -static void close_server(Map *map, const char *endpoint, void *server); static void connection_cb(uv_stream_t *server, int status); static void free_client(uv_handle_t *handle); static void free_server(uv_handle_t *handle); @@ -70,7 +69,15 @@ void server_teardown() return; } - map_foreach(servers, close_server); + Server *server; + + map_foreach_value(servers, server, { + if (server->type == kServerTypeTcp) { + uv_close((uv_handle_t *)&server->socket.tcp.handle, free_server); + } else { + uv_close((uv_handle_t *)&server->socket.pipe.handle, free_server); + } + }); } void server_start(char *endpoint, ChannelProtocol prot) @@ -221,17 +228,6 @@ static void connection_cb(uv_stream_t *server, int status) channel_from_stream(client, srv->protocol); } -static void close_server(Map *map, const char *endpoint, void *srv) -{ - Server *server = srv; - - if (server->type == kServerTypeTcp) { - uv_close((uv_handle_t *)&server->socket.tcp.handle, free_server); - } else { - uv_close((uv_handle_t *)&server->socket.pipe.handle, free_server); - } -} - static void free_client(uv_handle_t *handle) { free(handle); |