64-bit time_t safe lease time

Joerg Wunsch j at ida.interface-business.de
Mon Jun 28 06:20:37 PDT 2004


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 at interface-systems.de        http://www.interface-systems.de/~j/


More information about the freebsd-sparc64 mailing list