summaryrefslogtreecommitdiff
path: root/src/common/socket.c
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2019-04-07 23:10:55 +0200
committerGitHub <noreply@github.com>2019-04-07 23:10:55 +0200
commitab975f47579e1522dd6da8996913ac31c2e72207 (patch)
tree3954ed57ab46f4e403d83215822d6ca4a9e24189 /src/common/socket.c
parent4c571d8382418024ef39640f231ced878919e58e (diff)
parente610e222c57c1268fce72bc9578b42f655c18545 (diff)
downloadhercules-ab975f47579e1522dd6da8996913ac31c2e72207.tar.gz
hercules-ab975f47579e1522dd6da8996913ac31c2e72207.tar.bz2
hercules-ab975f47579e1522dd6da8996913ac31c2e72207.tar.xz
hercules-ab975f47579e1522dd6da8996913ac31c2e72207.zip
Merge pull request #2406 from 4144/updatepackets
Update packets and messages up to 2019-04-03
Diffstat (limited to 'src/common/socket.c')
-rw-r--r--src/common/socket.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/common/socket.c b/src/common/socket.c
index faf57f412..dc5b06da0 100644
--- a/src/common/socket.c
+++ b/src/common/socket.c
@@ -488,11 +488,12 @@ static int send_from_fifo(int fd)
return 0;
}
- if( len > 0 )
+ if (len > 0)
{
+ sockt->session[fd]->wdata_tick = sockt->last_tick;
// some data could not be transferred?
// shift unsent data to the beginning of the queue
- if( (size_t)len < sockt->session[fd]->wdata_size )
+ if ((size_t)len < sockt->session[fd]->wdata_size)
memmove(sockt->session[fd]->wdata, sockt->session[fd]->wdata + len, sockt->session[fd]->wdata_size - len);
sockt->session[fd]->wdata_size -= len;
@@ -649,6 +650,7 @@ static int make_listen_bind(uint32 ip, uint16 port)
create_session(fd, sockt->connect_client, null_send, null_parse);
sockt->session[fd]->client_addr = 0; // just listens
sockt->session[fd]->rdata_tick = 0; // disable timeouts on this socket
+ sockt->session[fd]->wdata_tick = 0;
return fd;
}
@@ -731,6 +733,7 @@ static int create_session(int fd, RecvFunc func_recv, SendFunc func_send, ParseF
sockt->session[fd]->func_send = func_send;
sockt->session[fd]->func_parse = func_parse;
sockt->session[fd]->rdata_tick = sockt->last_tick;
+ sockt->session[fd]->wdata_tick = sockt->last_tick;
sockt->session[fd]->session_data = NULL;
sockt->session[fd]->hdata = NULL;
return 0;