diff --git a/skynet-src/skynet_start.c b/skynet-src/skynet_start.c index a6a63e8b..5f511d29 100644 --- a/skynet-src/skynet_start.c +++ b/skynet-src/skynet_start.c @@ -232,9 +232,11 @@ skynet_start(struct skynet_config * config) { bootstrap(ctx, config->bootstrap); _start(config->thread); + + // harbor_exit may call socket send, so it should exit before socket_free + skynet_harbor_exit(); skynet_socket_free(); if (config->daemon) { daemon_exit(config->daemon); } - skynet_harbor_exit(); }