From owner-freebsd-questions Mon Dec 3 4:47:38 2001 Delivered-To: freebsd-questions@freebsd.org Received: from topaz.mdcc.cx (topaz.mdcc.cx [212.204.230.141]) by hub.freebsd.org (Postfix) with ESMTP id 77C5537B417 for ; Mon, 3 Dec 2001 04:47:35 -0800 (PST) Received: from k7.mavetju.org (topaz.mdcc.cx [212.204.230.141]) by topaz.mdcc.cx (Postfix) with ESMTP id 539E12B795; Mon, 3 Dec 2001 13:47:28 +0100 (CET) Received: by k7.mavetju.org (Postfix, from userid 1001) id 3A9CB3E5; Mon, 3 Dec 2001 23:47:21 +1100 (EST) Date: Mon, 3 Dec 2001 23:47:21 +1100 From: Edwin Groothuis To: Lance Bland Cc: freebsd-questions@FreeBSD.ORG Subject: Re: bind() error on stale port ... Message-ID: <20011203234721.B546@k7.mavetju.org> Mail-Followup-To: Edwin Groothuis , Lance Bland , freebsd-questions@FreeBSD.ORG References: <5DF8B77C-E7EB-11D5-A5E1-0030659A531A@vvi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <5DF8B77C-E7EB-11D5-A5E1-0030659A531A@vvi.com>; from lbland@vvi.com on Mon, Dec 03, 2001 at 07:43:35AM -0500 Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, Dec 03, 2001 at 07:43:35AM -0500, Lance Bland wrote: > hi- > > I get an error on bind() this way: > > Start process that calls bind() > Kill process > Start same process up right away. > -> bind() error > > The reason is because the port is settling down from the last process > run before it is put back in the pool of available pool of ports. > > I fixed this before with a call to some function (I think that was > sysctl()??) that said "dereference port immediately when process is no > longer around". > > The problem is: I can't remember the function I called, and the flag it > needed. It was simple and worked, I just can't remember it. You do it with setsockopt and SO_REUSEADDR: int x=1; if (setsockopt(fd6,SOL_SOCKET,SO_REUSEADDR,(char *)&x,sizeof(x))<0) { bugf("init_socket6(): SO_REUSEADDR: %s",ERROR); exit(1); } Edwin -- Edwin Groothuis | Personal website: http://www.MavEtJu.org edwin@mavetju.org | Interested in MUDs? Visit Fatal Dimensions: ------------------+ http://www.FatalDimensions.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message