Date: Mon, 19 Nov 2001 16:51:29 -0800 (PST) From: John Baldwin <jhb@FreeBSD.org> To: Erik Trulsson <ertr1013@student.uu.se> Cc: hackers@FreeBSD.org Subject: Re: Ok, who broke timed? Message-ID: <XFMail.011119165129.jhb@FreeBSD.org> In-Reply-To: <20011120003613.GA29465@student.uu.se>
next in thread | previous in thread | raw e-mail | index | archive | help
On 20-Nov-01 Erik Trulsson wrote:
> On Mon, Nov 19, 2001 at 03:06:28PM -0800, John Baldwin wrote:
>> Does timed have some major 64 bit issues or something? Trying to run timed
>> on
>> my 5.0 alpha from a 4.4 x86 box proves disastrous. 5.0 x86 clients work
>> fine.
>> The alpha keeps getting its date set back into 1970:
>
> After quick look at the source I would say that timed has some major 64
> bit issues.
> As far as I can tell timed sends/receives a 'struct tsp' after
> adjusting it for byteorder but not for wordsize. This struct is
> defined in <protocols/timed.h> as
>
> struct tsp {
> u_char tsp_type;
> u_char tsp_vers;
> u_short tsp_seq;
> union {
> struct timeval tspu_time;
> char tspu_hopcnt;
> } tsp_u;
> char tsp_name[MAXHOSTNAMELEN];
> };
>
> and struct timeval is defined in <sys/time.h> as
>
> struct timeval {
> long tv_sec; /* seconds */
> long tv_usec; /* and microseconds */
> };
That looks very promising indeed. Hrmm. I should go see if NetBSD has fixed
this. I guess having timeval be different sizes on different archs is a bit of
a pain. :( Perhaps it should use uint32_t? Or perhaps struct tsp should use
its own variant of timeval with uint32_t or some such. Ugh.
--
John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.011119165129.jhb>
