Re: SysV IPC: shmctl/msgctl/semctl returns EIDRM instead of EINVAL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



  Please, fellas, take a look on my post!

Thanks in advance.

Anton Arapov <[email protected]> writes:
> Hi!
>
>   SysV code returns EIDRM for collision of IDs. I sure it should return EINVAL.
>
>   Steps to reproduce: (this for shared memory code, for msg/sem it is the same)
>    1. Create then drop 2 shmem segments, then create a third.
>    2. Try to shmctl(IPC_STAT) the two now-invalid shm IDs.
>    3. Note error codes returned.
>
>    One call gives EINVAL, one gives EIDRM due to collision with the third shmem segment.
>    Should both give EINVAL, this is what I've got on every other Unix I've tried it on. 
>
>   IPC code is good, EIDRM is justification of EINVAL. But neither SVr4 nor SVID documents EIDRM. 
>   Single Unix Specification mentions EINVAL but not EIDRM as a possible failure for shmctl(), so the current kernel behavior is not merely self-inconsistent but a flat violation of the spec. 
>
>   Can somebody explain why do we have EIDRM?
>
> Anton.
> SUS: http://www.opengroup.org/onlinepubs/007908799/xsh/shmctl.html
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux