net/tcp/handshake: send the SYN immediately.

Signed-off-by: chao.an <anchao@xiaomi.com>
This commit is contained in:
chao.an 2020-12-15 20:30:29 +08:00 committed by Masayuki Ishikawa
parent 5e9e50991c
commit ae5b727580
2 changed files with 6 additions and 1 deletions

View File

@ -1283,7 +1283,7 @@ int tcp_connect(FAR struct tcp_conn_s *conn, FAR const struct sockaddr *addr)
conn->tx_unacked = 1; /* TCP length of the SYN is one. */
conn->nrtx = 0;
conn->timer = 1; /* Send the SYN next time around. */
conn->timer = 0; /* Send the SYN immediately. */
conn->rto = TCP_RTO;
conn->sa = 0;
conn->sv = 16; /* Initial value of the RTT variance. */

View File

@ -41,6 +41,7 @@
#include <nuttx/net/tcp.h>
#include "devif/devif.h"
#include "netdev/netdev.h"
#include "socket/socket.h"
#include "tcp/tcp.h"
@ -322,6 +323,10 @@ int psock_tcp_connect(FAR struct socket *psock,
ret = psock_setup_callbacks(psock, &state);
if (ret >= 0)
{
/* Notify the device driver that new connection is available. */
netdev_txnotify_dev(((FAR struct tcp_conn_s *)psock->s_conn)->dev);
/* Wait for either the connect to complete or for an error/timeout
* to occur. NOTES: net_lockedwait will also terminate if a signal
* is received.