diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-05-19 10:52:04 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-05-19 10:52:04 -0300 |
commit | 974eade1a6445222812fc03f60896def74b7dd06 (patch) | |
tree | 1e08bfbe66124ec2e3b2bc54f2034a17f89cb472 /src/nvim/os/server.c | |
parent | eb7513bbd2bd9189502159c4146bb6999b8da32b (diff) | |
download | rneovim-974eade1a6445222812fc03f60896def74b7dd06.tar.gz rneovim-974eade1a6445222812fc03f60896def74b7dd06.tar.bz2 rneovim-974eade1a6445222812fc03f60896def74b7dd06.zip |
Improve map module: Change scopes
- Move `Map` structure definition to `map_defs.h`
- Use `KHASH_DECLARE` on map_defs.h to declare khash function prototypes.
- Redefine `map_foreach` into a macro
- Refactor server.c module to use the new `map_foreach` macro.
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); |