Hi!
> The FUTEX_WAIT_OP operation is equivalent to execute the follow???
> ing code atomically and totally ordered with respect to other
> futex operations on any of the two supplied futex words:
"to executing"?
> The operation and comparison that are to be performed are
> encoded in the bits of the argument val3. Pictorially, the
> encoding is:
>
> +---+---+-----------+-----------+
> |op |cmp| oparg | cmparg |
> +---+---+-----------+-----------+
> 4 4 12 12 <== # of bits
>
:-)
> RETURN VALUE
> In the event of an error, all operations return -1 and set errno to
> indicate the cause of the error. The return value on success depends
> on the operation, as described in the following list:
Did you say (at the begining) that there is no glibc wrapper?
> EINVAL The operation in futex_op is one of those that employs a time???
> out, but the supplied timeout argument was invalid (tv_sec was
> less than zero, or tv_nsec was not less than 1000,000,000).
1,000...?
> NOTES
> Glibc does not provide a wrapper for this system call; call it using
> syscall(2).
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Hello Pavel,
On 04/27/2015 10:37 PM, Pavel Machek wrote:
> Hi!
>
>> The FUTEX_WAIT_OP operation is equivalent to execute the follow???
>> ing code atomically and totally ordered with respect to other
>> futex operations on any of the two supplied futex words:
>
> "to executing"?
Yep. Fixed.
>> The operation and comparison that are to be performed are
>> encoded in the bits of the argument val3. Pictorially, the
>> encoding is:
>>
>> +---+---+-----------+-----------+
>> |op |cmp| oparg | cmparg |
>> +---+---+-----------+-----------+
>> 4 4 12 12 <== # of bits
>>
>
> :-)
>
>> RETURN VALUE
>> In the event of an error, all operations return -1 and set errno to
>> indicate the cause of the error. The return value on success depends
>> on the operation, as described in the following list:
>
> Did you say (at the begining) that there is no glibc wrapper?
Yes, this could be clearer. I changed it to
RETURN VALUE
In the event of an error (and assuming that futex() was invoked
via syscall(2)), all operations return -1 and set errno to indi‐
cate the cause of the error.
>> EINVAL The operation in futex_op is one of those that employs a time???
>> out, but the supplied timeout argument was invalid (tv_sec was
>> less than zero, or tv_nsec was not less than 1000,000,000).
>
> 1,000...?
Fixed.
Thanks for the comments!
Cheers,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/