Date: Tue, 17 Oct 2006 10:14:07 +0800 From: Cheng-Lung Sung <clsung@FreeBSD.org> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-bugs@freebsd.org, FreeBSD-gnats-submit@freebsd.org, Bruce Evans <bde@zeta.org.au>, freebsd-hackers@freebsd.org, freebsd-current@freebsd.org, Cheng-Lung Sung <clsung@freebsd.org> Subject: Re: kern/104436: [PATCH] sys/sem.h should include sys/types.h Message-ID: <20061017021407.GA738@FreeBSD.csie.nctu.edu.tw> In-Reply-To: <200610161431.25228.jhb@freebsd.org> References: <20061015135710.A28897E98D@FreeBSD.csie.nctu.edu.tw> <20061016011559.W61639@delplex.bde.org> <200610161431.25228.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Oct 16, 2006 at 02:31:24PM -0400, John Baldwin wrote:
> On Sunday 15 October 2006 11:21, Bruce Evans wrote:
> > On Sun, 15 Oct 2006, Cheng-Lung Sung wrote:
> >=20
> > > System: FreeBSD.csie.nctu.edu.tw 6.1-STABLE FreeBSD 6.1-STABLE #9: Th=
u May=20
> 11 14:31:45 CST 2006 =20
> root@FreeBSD.csie.nctu.edu.tw:/home/usr.obj/usr/src/sys/FREEBSD i386
> > >
> > >> Description:
> > > - sys/sem.h has included sys/ipc.h, which includes sys/_types.h
> > > but it (and its including files) does not include sys/types.h
> > > - therefore, in sys/sem.h struct semid_ds declares "time_t=20
> sem_otime;" ...etc
> > > - if we only compile a program which do not include sys/types.h, it w=
ill=20
> fail.
> >=20
> > Including sys/types.h would add lots of namespace pollution which
> > sys/ipc.h and sys/sem.h are trying hard to avoid. sem.h is trying too
> > hard -- POSIX requires it to declare time_t (and pid_t, key_t and size_=
t,
> > which it already declares).
>=20
> Is this better?
>=20
> Index: sem.h
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /usr/cvs/src/sys/sys/sem.h,v
> retrieving revision 1.29
> diff -c -r1.29 sem.h
> *** sem.h 17 Nov 2004 13:12:06 -0000 1.29
> --- sem.h 16 Oct 2006 18:30:05 -0000
> ***************
> *** 111,116 ****
> --- 111,121 ----
> #define _SIZE_T_DECLARED
> #endif
> =20
> + #ifndef _TIME_T_DECLARED
> + typedef __time_t time_t;
> + #define _TIME_T_DECLARED
> + #endif
> +=20
> #ifndef _PID_T_DECLARED
> typedef __pid_t pid_t;
> #define _PID_T_DECLARED
>=20
> (it looks like pid_t should be before size_t in sem.h btw)
>=20
> --=20
> John Baldwin
Thanks, I didn't go through the whole sem.h.
Also, it seems we should put these parts before 'sturct semid_ds'.=20
or say, after we include sys/ipc.h (which include sys/_types.h)
--=20
Cheng-Lung Sung - clsung@
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061017021407.GA738>
