On 2000-Feb-23 23:46:35 +1100, Brad Knowles <[EMAIL PROTECTED]> wrote:
>       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

Both Solaris and the Single UNIX Specification, Version 2 explicitly
state this.

>       Is this changed in -CURRENT?

Not at present.

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

I can't comment on this.  There doesn't seem to be a high level of
interest in the SysV semaphore handling.

>       I'm also curious to know why there is a difference in how this 
>object is defined under Linux and FreeBSD.

There are two differences:
- The type of "array":  SUSv2 and Linux specify "unsigned short int *",
  Solaris uses "ushort *" and FreeBSD uses "u_short *".  The underlying
  type should be the same.  (Though it does bring up another `bug' in
  our implementation - SUSv2 states <sys/sem.h> should be idempotent,
  but we require <sys/types.h> to be explicitly included first).
- Linux includes an "__buf" field.  This field (and the associated
  IPC_INFO) don't appear in either SUSv2 or Solaris - I suspect it is
  a Linux extension to make ipcs(1) cleaner.

>However, I'm also interested as to who is "right" on this issue, and 
>more importantly, why they are "right".

It looks very much like FreeBSD is in the wrong here.

Peter


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to