mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-11-16 23:15:37 +00:00
fixed bug #33952 PUSH flag in incoming packet is lost when packet is aggregated and sent to application
This commit is contained in:
parent
68f8966f74
commit
9a1eeeea67
@ -24,6 +24,10 @@ HISTORY
|
|||||||
|
|
||||||
++ Bugfixes:
|
++ 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
|
2011-09-01: Simon Goldschmidt
|
||||||
* opt.h: fixed bug #31809 LWIP_EVENT_API in opts.h is inconsistent compared
|
* opt.h: fixed bug #31809 LWIP_EVENT_API in opts.h is inconsistent compared
|
||||||
to other options
|
to other options
|
||||||
|
@ -297,6 +297,10 @@ tcp_input(struct pbuf *p, struct netif *inp)
|
|||||||
recv_data = NULL;
|
recv_data = NULL;
|
||||||
recv_flags = 0;
|
recv_flags = 0;
|
||||||
|
|
||||||
|
if (flags & TCP_PSH) {
|
||||||
|
p->flags |= PBUF_FLAG_PUSH;
|
||||||
|
}
|
||||||
|
|
||||||
/* If there is data which was previously "refused" by upper layer */
|
/* If there is data which was previously "refused" by upper layer */
|
||||||
if (pcb->refused_data != NULL) {
|
if (pcb->refused_data != NULL) {
|
||||||
/* Notify again application with data previously received. */
|
/* Notify again application with data previously received. */
|
||||||
@ -354,9 +358,6 @@ tcp_input(struct pbuf *p, struct netif *inp)
|
|||||||
tcp_abort(pcb);
|
tcp_abort(pcb);
|
||||||
goto aborted;
|
goto aborted;
|
||||||
}
|
}
|
||||||
if (flags & TCP_PSH) {
|
|
||||||
recv_data->flags |= PBUF_FLAG_PUSH;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Notify application that data has been received. */
|
/* Notify application that data has been received. */
|
||||||
TCP_EVENT_RECV(pcb, recv_data, ERR_OK, err);
|
TCP_EVENT_RECV(pcb, recv_data, ERR_OK, err);
|
||||||
|
Loading…
Reference in New Issue
Block a user