[retry] Use start_timer_fixed() instead of direct timeout manipulation
authorMichael Brown <mcb30@ipxe.org>
Tue, 15 Jun 2010 17:16:02 +0000 (18:16 +0100)
committerStefan Hajnoczi <stefanha@gmail.com>
Wed, 7 Jul 2010 19:22:19 +0000 (20:22 +0100)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
src/net/ipv4.c
src/net/tcp.c

index 4e7fc82..92d0684 100644 (file)
@@ -225,8 +225,7 @@ static struct io_buffer * ipv4_reassemble ( struct io_buffer * iobuf ) {
 
                /* Set the reassembly timer */
                timer_init ( &fragbuf->frag_timer, ipv4_frag_expired );
-               fragbuf->frag_timer.timeout = IP_FRAG_TIMEOUT;
-               start_timer ( &fragbuf->frag_timer );
+               start_timer_fixed ( &fragbuf->frag_timer, IP_FRAG_TIMEOUT );
 
                /* Add the fragment buffer to the list of fragment buffers */
                list_add ( &fragbuf->list, &frag_buffers );
index 6c234fe..5817e18 100644 (file)
@@ -1014,8 +1014,7 @@ static int tcp_rx ( struct io_buffer *iobuf,
         * timer to expire and cause the connection to be freed.
         */
        if ( TCP_CLOSED_GRACEFULLY ( tcp->tcp_state ) ) {
-               tcp->timer.timeout = ( 2 * TCP_MSL );
-               start_timer ( &tcp->timer );
+               start_timer_fixed ( &tcp->timer, ( 2 * TCP_MSL ) );
        }
 
        return 0;