Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Oct 2002 02:33:22 +0100
From:      Ian Dowse <iedowse@cyclops.local.mti.ie>
To:        Peter Wemm <peter@wemm.org>
Cc:        current@freebsd.org
Subject:   Re: mozilla vs linux emulation in -current? 
Message-ID:  <200210240133.g9O1XMqX007070@cyclops.local.mti.ie>
In-Reply-To: Your message of "Wed, 23 Oct 2002 16:21:36 PDT." <20021023232136.443022A88D@canning.wemm.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <20021023232136.443022A88D@canning.wemm.org>, Peter Wemm writes:
>Has anybody else noticed this in -current?  Mozilla hangs for a minute or
>so at regular intervals..
>16:07:31.896548 216.145.52.172.20167 > 0.0.0.0.16001: S 1175926117:1175926117(

Sounds like something I may have broken... Need to sleep now, but
you could try the following. I think in_pcbconnect() used to do
some evil stuff where it would modify the supplied sockaddr,
tcp_connect was depending on this, and I failed to notice it
(in_pcbconnect maps a destination address of INADDR_ANY into a local
IP, but we were throwing away the modified version). Commit if it
works, and I'll look properly tomorrow. Sorry for the breakage.

Ian

Index: tcp_usrreq.c
===================================================================
RCS file: /dump/FreeBSD-CVS/src/sys/netinet/tcp_usrreq.c,v
retrieving revision 1.83
diff -u -r1.83 tcp_usrreq.c
--- tcp_usrreq.c	21 Oct 2002 13:55:50 -0000	1.83
+++ tcp_usrreq.c	24 Oct 2002 01:27:27 -0000
@@ -876,14 +876,14 @@
 		if (oinp != inp && (otp = intotcpcb(oinp)) != NULL &&
 		otp->t_state == TCPS_TIME_WAIT &&
 		    (ticks - otp->t_starttime) < tcp_msl &&
-		    (otp->t_flags & TF_RCVD_CC))
+		    (otp->t_flags & TF_RCVD_CC)) {
+			inp->inp_faddr = oinp->inp_faddr;
+			inp->inp_fport = oinp->inp_fport;
 			otp = tcp_close(otp);
-		else
+		} else
 			return EADDRINUSE;
 	}
 	inp->inp_laddr = laddr;
-	inp->inp_faddr = sin->sin_addr;
-	inp->inp_fport = sin->sin_port;
 	in_pcbrehash(inp);
 
 	/* Compute window scaling to request.  */


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210240133.g9O1XMqX007070>