Date: Sun, 15 Oct 2006 21:57:10 +0800 (CST) From: Cheng-Lung Sung <clsung@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: freebsd-hackers@FreeBSD.org, freebsd-current@FreeBSD.org Subject: kern/104436: [PATCH] sys/sem.h should include sys/types.h Message-ID: <20061015135710.A28897E98D@FreeBSD.csie.nctu.edu.tw> Resent-Message-ID: <200610151400.k9FE0bvo008485@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 104436 >Category: kern >Synopsis: [PATCH] sys/sem.h should include sys/types.h >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Oct 15 14:00:36 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Cheng-Lung Sung >Release: FreeBSD 6.1-PRERELEASE i386 >Organization: FreeBSD @ Taiwan >Environment: 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. >How-To-Repeat: test the following program (copy from devel/ruby-sysvipc), named conftest.c: 1: #include <sys/sem.h> 2: 3: /*top*/ 4: int 5: main () 6: { 7: if ((union semun *) 0) 8: return 0; 9: if (sizeof (union semun)) 10: return 0; 11: ; 12: return 0; 13: } We will got the following result: In file included from conftest.c:1: /usr/include/sys/sem.h:21: error: syntax error before "time_t" /usr/include/sys/sem.h:23: error: syntax error before "time_t" >Fix: Index: sys/sys/sem.h =================================================================== RCS file: /home/ncvs/src/sys/sys/sem.h,v retrieving revision 1.29 diff -u -r1.29 sem.h --- sys/sys/sem.h 17 Nov 2004 13:12:06 -0000 1.29 +++ sys/sys/sem.h 15 Oct 2006 13:47:37 -0000 @@ -10,6 +10,7 @@ #ifndef _SYS_SEM_H_ #define _SYS_SEM_H_ +#include <sys/types.h> #include <sys/ipc.h> struct sem; >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061015135710.A28897E98D>