/*
 * 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;
         }




Reply via email to