Re: Does the mq_timedreceive() fully implement the POSIX specification?
|[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]|
Hi! [ also Cc: the email address on the top on the test case. Therefore self-quoting for the rest of the thread. ] On Mon, 2012-02-13 at 09:51 +0100, Bernd Petrovitsch wrote: > On Mon, 2012-02-13 at 10:30 +0800, K K wrote: > [....] > > I am doing POSIX test on linux. And for mq_timedreceive() in POSIX spec > > 2008 Issue 7, Line 43787: > > > > The validity of the abstime parameter need not be checked if a > > message can be removed from the message queue immediately. > > > > But when I run test case mq_timedreceive/10-2 of POSIX suite (can be viewed > > at : > > http://ltp.git.sourceforge.net/git/gitweb.cgi?p=ltp/ltp.git;a=blob;f=testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/10-2.c;h=49ee4f243fc5046a965a551650d8697217faac35;hb=HEAD), > > mq_timedreceive() could get the message without wait, but the timeout is > > still validated. > > > > Do we intend to do so, or the implementation needs update? > > I'm not a native English speaker but there is IMHO no problem as the > above quoted part of POSIX simply does not require the check in that > case. But it doesn't forbid the check. On Die, 2012-02-14 at 14:44 +0800, K K wrote: [...] > Under no circumstance shall the operation fail with a timeout if a message > can be removed from > the message queue immediately. The validity of the abstime parameter need > not be checked if a > message can be removed from the message queue immediately. > > It seems that the first sentence is more affirmative that the timeout > should not be checked when a message can be removed from message queue > immediately. > How do you think? Well, and the sys-call actually does not fail with a *timeout* - which is indicated with a return value == -1 and errno == ETIMEDOUT if I read http://pubs.opengroup.org/onlinepubs/009695399/functions/mq_receive.html correctly - but with some another error - return value == -1 and errno == EINVAL. So the first quoted sentence actually doesn't apply IMHO. The test description in the second comment on http://ltp.git.sourceforge.net/git/gitweb.cgi?p=ltp/ltp.git;a=blob;f=testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/10-2.c;h=49ee4f243fc5046a965a551650d8697217faac35;hb=HEAD reparaphrases the above quoted part incorrectly IMHO. The test implements the description at the top though. Bernd -- Bernd Petrovitsch Email : bernd@xxxxxxxxxxxxxxxxxxx LUGA : http://www.luga.at _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
[Newbies FAQ] [Linux Kernel Development] [IETF Annouce] [Git] [Networking] [Security] [Bugtraq] [Photo] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Security] [Linux Networking] [Linux RAID] [Linux SCSI] [Linux ACPI]