From owner-freebsd-sparc64@FreeBSD.ORG Mon Jun 28 13:20:37 2004 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0FCF116A4CE for ; Mon, 28 Jun 2004 13:20:37 +0000 (GMT) Received: from ida.interface-business.de (ida.interface-business.de [193.101.57.9]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9986E43D2D for ; Mon, 28 Jun 2004 13:20:36 +0000 (GMT) (envelope-from j@ida.interface-business.de) Received: by ida.interface-business.de (Postfix, from userid 107) id 45BE77A49; Mon, 28 Jun 2004 15:20:31 +0200 (MET DST) Date: Mon, 28 Jun 2004 15:20:31 +0200 From: Joerg Wunsch To: =?iso-8859-1?Q?Dag-Erling_Sm=F8rgrav?= Message-ID: <20040628152031.A21248@ida.interface-business.de> References: <20040627005719.M38063@cvs.imp.ch> <20040627090642.A75210@ida.interface-business.de> <20040627101539.G38063@cvs.imp.ch> <20040627115951.C75210@ida.interface-business.de> <20040627160033.G75210@ida.interface-business.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.2.5i In-Reply-To: ; from des@des.no on Mon, Jun 28, 2004 at 01:20:25PM +0200 X-Phone: +49-351-31809-14 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E Organization: interface systems GmbH, Dresden cc: dhcp-hackers@isc.org cc: sparc64@freebsd.org Subject: Re: 64-bit time_t safe lease time X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Joerg Wunsch List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jun 2004 13:20:37 -0000 As Dag-Erling Smørgrav wrote: > > The problem was that GET_TIME() (first called in script_go()) > > clobbered part of sockaddr_broadcast. The memory area it clobbers > > looks a bit surprising to me, but the actual error became obvious > > then: calling time() on a TIME* object, when sizeof(time_t) != > > sizeof(TIME) is just an error. > > your analysis does not jibe with my reading of the code, since TIME is > defined as time_t: Running with TIME=time_t yielded comletely erratical behaviour (dhclient didn't even send out the initial request since it was hanging around in a supposedly short select() timeout that grew into several thousand years). It's been Martin Blapp's suggestion to define TIME as int32_t instead, which fixes the erratical behaviour, but requires the hack for GET_TIME(). See the patch I've been attaching to my previous mail. Your previous patch didn't fix anything for my situation, sorry. -- J"org Wunsch Unix support engineer joerg_wunsch@interface-systems.de http://www.interface-systems.de/~j/