mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 22:52:19 +02:00
mptcp: add do_check_data_fin to replace copied
This patch adds a new bool variable 'do_check_data_fin' to replace the original int variable 'copied' in __mptcp_push_pending(), check it to determine whether to call __mptcp_check_send_data_fin(). Suggested-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: Geliang Tang <geliang.tang@suse.com> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
a1c3bdd9c5
commit
0522b424c4
|
|
@ -1538,8 +1538,9 @@ void __mptcp_push_pending(struct sock *sk, unsigned int flags)
|
|||
struct mptcp_sendmsg_info info = {
|
||||
.flags = flags,
|
||||
};
|
||||
bool do_check_data_fin = false;
|
||||
struct mptcp_data_frag *dfrag;
|
||||
int len, copied = 0;
|
||||
int len;
|
||||
|
||||
while ((dfrag = mptcp_send_head(sk))) {
|
||||
info.sent = dfrag->already_sent;
|
||||
|
|
@ -1574,8 +1575,8 @@ void __mptcp_push_pending(struct sock *sk, unsigned int flags)
|
|||
goto out;
|
||||
}
|
||||
|
||||
do_check_data_fin = true;
|
||||
info.sent += ret;
|
||||
copied += ret;
|
||||
len -= ret;
|
||||
|
||||
mptcp_update_post_push(msk, dfrag, ret);
|
||||
|
|
@ -1591,7 +1592,7 @@ void __mptcp_push_pending(struct sock *sk, unsigned int flags)
|
|||
/* ensure the rtx timer is running */
|
||||
if (!mptcp_timer_pending(sk))
|
||||
mptcp_reset_timer(sk);
|
||||
if (copied)
|
||||
if (do_check_data_fin)
|
||||
__mptcp_check_send_data_fin(sk);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user