]> rtime.felk.cvut.cz Git - pes-rpp/rpp-lwip.git/commitdiff
fixed bug #33952 PUSH flag in incoming packet is lost when packet is aggregated and...
authorSimon Goldschmidt <goldsimon@gmx.de>
Sat, 3 Sep 2011 19:57:26 +0000 (21:57 +0200)
committerSimon Goldschmidt <goldsimon@gmx.de>
Sat, 3 Sep 2011 19:57:26 +0000 (21:57 +0200)
CHANGELOG
src/core/tcp_in.c

index 0082a7862373859faf5f4d86fc7ee9a05766b68d..8af059e987566a1ceea2836888a3530ee314c0e9 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -44,6 +44,10 @@ HISTORY
 
  ++ Bugfixes:
 
+  2011-09-03: Simon Goldschmidt
+  * tcp_in.c: fixed bug #33952 PUSH flag in incoming packet is lost when packet
+    is aggregated and sent to application
+
   2011-09-01: Simon Goldschmidt
   * opt.h: fixed bug #31809 LWIP_EVENT_API in opts.h is inconsistent compared
     to other options
index 9d40ec5356059004fa8d879e1188b1b055456c00..0cfb437bb54e88310a38af8b23242b99abdea511 100644 (file)
@@ -300,6 +300,10 @@ tcp_input(struct pbuf *p, struct netif *inp)
     recv_data = NULL;
     recv_flags = 0;
 
+    if (flags & TCP_PSH) {
+      p->flags |= PBUF_FLAG_PUSH;
+    }
+
     /* If there is data which was previously "refused" by upper layer */
     if (pcb->refused_data != NULL) {
       /* Notify again application with data previously received. */
@@ -354,9 +358,6 @@ tcp_input(struct pbuf *p, struct netif *inp)
             tcp_abort(pcb);
             goto aborted;
           }
-          if (flags & TCP_PSH) {
-            recv_data->flags |= PBUF_FLAG_PUSH;
-          }
 
           /* Notify application that data has been received. */
           TCP_EVENT_RECV(pcb, recv_data, ERR_OK, err);