Andrew Morton wrote:
> On Wed, 17 Jan 2007 10:55:54 +0100
> Sébastien Dugué <[EMAIL PROTECTED]> wrote:
> 
>> +struct lio_event *lio_create(struct sigevent __user *user_event,
>> +                    int mode)
>> +{
>> +    int ret = 0;
>> +    struct lio_event *lio = NULL;
>> +
>> +    if (unlikely((mode == LIO_NOWAIT) && !user_event))
>> +            return lio;
>> +
>> +    lio = kzalloc(sizeof(*lio), GFP_KERNEL);
>> +
>> +    if (!lio)
>> +            return ERR_PTR(-EAGAIN);
>> +
> 
> Why EAGAIN and not ENOMEM?

According to the POSIX AIO specifications:

"ERRORS:
...
[EAGAIN]
    The resources necessary to queue all the I/O requests were not available. "

I think memory is "a resource necessary to queue all the I/O requests"...

http://www.opengroup.org/onlinepubs/009695399/functions/lio_listio.html

Regards,
Laurent
-- 
------------- [EMAIL PROTECTED]  --------------
       "Any sufficiently advanced technology is
  indistinguishable from magic." - Arthur C. Clarke

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to