Use start_timer_nodelay() in protocols which rely on the retry timer
authorMichael Brown <mcb30@etherboot.org>
Mon, 13 Aug 2007 18:03:33 +0000 (11:03 -0700)
committerMichael Brown <mcb30@etherboot.org>
Mon, 13 Aug 2007 18:03:33 +0000 (11:03 -0700)
to generate the initial transmission; this cuts off around 0.3s per
instantiated connection.

src/net/tcp.c
src/net/udp/dhcp.c
src/net/udp/tftp.c

index 01daf75..28cf95f 100644 (file)
@@ -232,7 +232,7 @@ static int tcp_open ( struct xfer_interface *xfer, struct sockaddr *peer,
                goto err;
 
        /* Start timer to initiate SYN */
-       start_timer ( &tcp->timer );
+       start_timer_nodelay ( &tcp->timer );
 
        /* Attach parent interface, transfer reference to connection
         * list and return
index ed45563..86695f1 100644 (file)
@@ -912,7 +912,7 @@ int start_dhcp ( struct job_interface *job, struct net_device *netdev,
                goto err;
 
        /* Start timer to initiate initial DHCPREQUEST */
-       start_timer ( &dhcp->timer );
+       start_timer_nodelay ( &dhcp->timer );
 
        /* Attach parent interface, mortalise self, and return */
        job_plug_plug ( &dhcp->job, job );
index ea4d1df..7f1c4ce 100644 (file)
@@ -657,7 +657,7 @@ int tftp_open ( struct xfer_interface *xfer, struct uri *uri ) {
                goto err;
 
        /* Start timer to initiate RRQ */
-       start_timer ( &tftp->timer );
+       start_timer_nodelay ( &tftp->timer );
 
        /* Attach to parent interface, mortalise self, and return */
        xfer_plug_plug ( &tftp->xfer, xfer );