From b51e28a3e0fadccaa1d4040fd2aac588176db8d6 Mon Sep 17 00:00:00 2001 From: Cloud Wu Date: Tue, 14 Nov 2017 18:01:08 +0800 Subject: [PATCH] set nodelay, see issue #763 --- service/cslave.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/service/cslave.lua b/service/cslave.lua index e80439f3..daed0116 100644 --- a/service/cslave.lua +++ b/service/cslave.lua @@ -1,5 +1,6 @@ local skynet = require "skynet" local socket = require "skynet.socket" +local socketdriver = require "skynet.socketdriver" require "skynet.manager" -- import skynet.launch, ... local table = table @@ -41,6 +42,7 @@ local function connect_slave(slave_id, address) local ok, err = pcall(function() if slaves[slave_id] == nil then local fd = assert(socket.open(address), "Can't connect to "..address) + socketdriver.nodelay(fd) skynet.error(string.format("Connect to harbor %d (fd=%d), %s", slave_id, fd, address)) slaves[slave_id] = fd monitor_clear(slave_id) @@ -249,6 +251,7 @@ skynet.start(function() local co = coroutine.running() socket.start(slave_fd, function(fd, addr) skynet.error(string.format("New connection (fd = %d, %s)",fd, addr)) + socketdriver.nodelay(fd) if pcall(accept_slave,fd) then local s = 0 for k,v in pairs(slaves) do