Date: Wed, 23 Feb 2000 13:44:09 +0100 From: Brad Knowles <blk@skynet.be> To: freebsd-current@freebsd.org Subject: Union semun defined in /usr/include/sys/sem.h? Message-ID: <v04220804b4d983126da7@[195.238.1.121]>
next in thread | raw e-mail | index | archive | help
Folks, I've run into a problem compiling bonnie++ 0.99f and 3.4-STABLE. Normally, I would ask a question about this on the -stable list, but from discussions with the author, it's my understanding that this will probably be fixed in the next revision of the code. However, this has brought up an interesting question. It is my understanding that X/Open requires that this union be defined within the client source code (which is why Russell is going to fix his code), and not within standard system headers. However, looking in this file under 3.2-RELEASE and 3.4-STABLE, I find that FreeBSD does go ahead and define this object. Is this changed in -CURRENT? If not, are there any plans to change it in -CURRENT? Or has the X/Open standard changed, and FreeBSD is following the new standard in this area? My understanding is that the other BSDs follow the X/Open standard, as does Linux. I'm trying to understand why FreeBSD is different in this regard. I'm also curious to know why there is a difference in how this object is defined under Linux and FreeBSD. Linux apparently defines it like so: union semun { int val; /* value for SETVAL */ struct semid_ds *buf; /* buffer for IPC_STAT, IPC_SET */ unsigned short int *array; /* array for GETALL, SETALL */ struct seminfo *__buf; /* buffer for IPC_INFO */ }; #endif Whereas looking in /usr/include/sys/sem.h, FreeBSD defines it like so: union semun { int val; /* value for SETVAL */ struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */ u_short *array; /* array for GETALL & SETALL */ }; At the end of the day, I'm just trying to get a working bonnie++. However, I'm also interested as to who is "right" on this issue, and more importantly, why they are "right". Thanks! -- These are my opinions and should not be taken as official Skynet policy _________________________________________________________________________ |o| Brad Knowles, <blk@skynet.be> Belgacom Skynet NV/SA |o| |o| Systems Architect, Mail/News/FTP/Proxy Admin Rue Col. Bourg, 124 |o| |o| Phone/Fax: +32-2-706.13.11/726.93.11 B-1140 Brussels |o| |o| http://www.skynet.be Belgium |o| \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ Unix is like a wigwam -- no Gates, no Windows, and an Apache inside. Unix is very user-friendly. It's just picky who its friends are. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?v04220804b4d983126da7>