lkml.org 
[lkml]   [2007]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectSVr4/SVID/SUS IPC conformance
FromAnton Arapov <>
DateFri, 17 Aug 2007 19:18:40 +0200
Hi!

* Please, gurus, who cares about standards conformance, do not ignore this message!

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
--
Anton Arapov, <aarapov@redhat.com>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-08-17 19:21    [from the cache]
©2003-2010