patch-2.2.4 linux/include/net/tcp.h
Next file: linux/include/scsi/scsi.h
Previous file: linux/include/net/sock.h
Back to the patch index
Back to the overall index
- Lines: 35
- Date:
Tue Mar 23 13:55:18 1999
- Orig file:
v2.2.3/linux/include/net/tcp.h
- Orig date:
Tue Feb 23 15:21:35 1999
diff -u --recursive --new-file v2.2.3/linux/include/net/tcp.h linux/include/net/tcp.h
@@ -487,9 +487,7 @@
extern int tcp_v4_rcv(struct sk_buff *skb,
unsigned short len);
-extern int tcp_do_sendmsg(struct sock *sk,
- int iovlen, struct iovec *iov,
- int flags);
+extern int tcp_do_sendmsg(struct sock *sk, struct msghdr *msg);
extern int tcp_ioctl(struct sock *sk,
int cmd,
@@ -808,6 +806,23 @@
(tcp_packets_in_flight(tp) < tp->snd_cwnd) &&
!after(TCP_SKB_CB(skb)->end_seq, tp->snd_una + tp->snd_wnd) &&
tp->retransmits == 0);
+}
+
+/* Push out any pending frames which were held back due to
+ * TCP_CORK or attempt at coalescing tiny packets.
+ * The socket must be locked by the caller.
+ */
+static __inline__ void tcp_push_pending_frames(struct sock *sk, struct tcp_opt *tp)
+{
+ if(tp->send_head) {
+ if(tcp_snd_test(sk, tp->send_head))
+ tcp_write_xmit(sk);
+ else if(tp->packets_out == 0 && !tp->pending) {
+ /* We held off on this in tcp_send_skb() */
+ tp->pending = TIME_PROBE0;
+ tcp_reset_xmit_timer(sk, TIME_PROBE0, tp->rto);
+ }
+ }
}
/* This tells the input processing path that an ACK should go out
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)