Re: [PATCH-RFC 2/2] eventfd: EFD_STATE flag

Michael S. Tsirkin
2009-08-04T09:27:33Z

On Tue, Aug 04, 2009 at 12:30:29PM +0300, Avi Kivity wrote:
> On 08/04/2009 12:23 PM, Gleb Natapov wrote:
>> On Tue, Aug 04, 2009 at 12:25:49PM +0300, Avi Kivity wrote:
>>
>>> On 08/04/2009 12:17 PM, Gleb Natapov wrote:
>>>
>>>>> If a different read comes after the write but after our read, it will
>>>>> have transferred the value, resulting in the same situation.
>>>>>
>>>>> I think reads should never block with a state based mechanism.
>>>>>
>>>>>
>>>>>
>>>> Reader may want to poll for the status change.
>>>>
>>>>
>>> Without epoll(), it's inherently racy since reads from other processes
>>> can clear the status.
>>>
>>>
>> This is correct for any file descriptor. Multiple readers shouldn't
>> simultaneously read from the same files descriptor if they expect to
>> make any sense from a result.
>>
>
> I think counting eventfd is an exception, but in general you are right.

How is it an exception? It seems that one reader get the counter,
others will block until the next write.

> --
> error compiling committee.c: too many arguments to function