Date: Mon, 16 Oct 2006 19:20:30 GMT From: John Baldwin <jhb@freebsd.org> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/104436: [PATCH] sys/sem.h should include sys/types.h Message-ID: <200610161920.k9GJKUv7077433@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/104436; it has been noted by GNATS. From: John Baldwin <jhb@freebsd.org> To: freebsd-hackers@freebsd.org Cc: Bruce Evans <bde@zeta.org.au>, Cheng-Lung Sung <clsung@freebsd.org>, freebsd-current@freebsd.org, freebsd-bugs@freebsd.org, FreeBSD-gnats-submit@freebsd.org Subject: Re: kern/104436: [PATCH] sys/sem.h should include sys/types.h Date: Mon, 16 Oct 2006 14:31:24 -0400 On Sunday 15 October 2006 11:21, Bruce Evans wrote: > On Sun, 15 Oct 2006, Cheng-Lung Sung wrote: > > > System: FreeBSD.csie.nctu.edu.tw 6.1-STABLE FreeBSD 6.1-STABLE #9: Thu May 11 14:31:45 CST 2006 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 sem_otime;" ...etc > > - if we only compile a program which do not include sys/types.h, it will fail. > > 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). Is this better? Index: sem.h =================================================================== 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 + #ifndef _TIME_T_DECLARED + typedef __time_t time_t; + #define _TIME_T_DECLARED + #endif + #ifndef _PID_T_DECLARED typedef __pid_t pid_t; #define _PID_T_DECLARED (it looks like pid_t should be before size_t in sem.h btw) -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200610161920.k9GJKUv7077433>