aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/server.c
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2014-05-19 10:52:04 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2014-05-19 10:52:04 -0300
commit974eade1a6445222812fc03f60896def74b7dd06 (patch)
tree1e08bfbe66124ec2e3b2bc54f2034a17f89cb472 /src/nvim/os/server.c
parenteb7513bbd2bd9189502159c4146bb6999b8da32b (diff)
downloadrneovim-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.c22
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);