kern/104436: [PATCH] sys/sem.h should include sys/types.h

Bruce Evans bde at zeta.org.au
Mon Oct 16 18:39:13 PDT 2006


[This is still being sent to too many mailing lists since I don't know
  which ones it should go to except gnats.]

On Mon, 16 Oct 2006, John Baldwin wrote:

>> 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)

Good.  (I didn't check if there are any other missing typedefs.)
Please commit.

The old typedefs also have non-KNF whitespace.  sys/ipc.h is better.

Bruce


More information about the freebsd-hackers mailing list