/* * Returns * 0: SocketReadState is not ready * 1: SocketReadState is ready * otherwise error occurs */ int net_fill_rstate(SocketReadState *rs, const uint8_t *buf, int size)
it seems you need to fix the returns and comments too. simply, just remove the 'return 1;' would be OK ? because the callers only concern about the error case. -- Best regards. Li Zhijian On 08/17/2016 08:33 PM, Zhang Chen wrote:
When network is busy, we will receive multiple packets at one time. this bug will lost packets that comes late. Signed-off-by: Zhang Chen <zhangchen.f...@cn.fujitsu.com> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com> --- net/net.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/net.c b/net/net.c index a8e2e6b..8f3237e 100644 --- a/net/net.c +++ b/net/net.c @@ -1636,7 +1636,9 @@ int net_fill_rstate(SocketReadState *rs, const uint8_t *buf, int size) if (rs->finalize) { rs->finalize(rs); } - return 1; + if (!size) { + return 1; + } } break; }