[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: kern/104436: [PATCH] sys/sem.h should include sys/types.h
- To: freebsd-bugs_(_at_)_FreeBSD_(_dot_)_org
- Subject: Re: kern/104436: [PATCH] sys/sem.h should include sys/types.h
- From: Cheng-Lung Sung <clsung_(_at_)_FreeBSD_(_dot_)_org>
- Date: Tue, 17 Oct 2006 02:20:26 GMT
- Cc:
- Reply-to: Cheng-Lung Sung <clsung_(_at_)_FreeBSD_(_dot_)_org>
The following reply was made to PR kern/104436; it has been noted by GNATS.
From: Cheng-Lung Sung <clsung_(_at_)_FreeBSD_(_dot_)_org>
To: John Baldwin <jhb_(_at_)_freebsd_(_dot_)_org>
Cc: freebsd-hackers_(_at_)_freebsd_(_dot_)_org, Bruce Evans <bde_(_at_)_zeta_(_dot_)_org_(_dot_)_au>,
Cheng-Lung Sung <clsung_(_at_)_freebsd_(_dot_)_org>, freebsd-current_(_at_)_freebsd_(_dot_)_org,
freebsd-bugs_(_at_)_freebsd_(_dot_)_org, FreeBSD-gnats-submit_(_at_)_freebsd_(_dot_)_org
Subject: Re: kern/104436: [PATCH] sys/sem.h should include sys/types.h
Date: Tue, 17 Oct 2006 10:14:07 +0800
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_(_at_)_FreeBSD_(_dot_)_csie_(_dot_)_nctu_(_dot_)_edu_(_dot_)_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@
_______________________________________________
freebsd-bugs_(_at_)_freebsd_(_dot_)_org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscribe_(_at_)_freebsd_(_dot_)_org"
Visit your host, monkey.org