[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 3/3] Fix address handling in inet_nonblocking
From: |
Orit Wasserman |
Subject: |
Re: [Qemu-devel] [PATCH v3 3/3] Fix address handling in inet_nonblocking_connect |
Date: |
Thu, 20 Sep 2012 11:57:37 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120827 Thunderbird/15.0 |
On 09/20/2012 09:03 AM, Michael S. Tsirkin wrote:
>> @@ -526,16 +592,19 @@ int inet_connect(const char *str, Error **errp)
>> return sock;
>> }
>>
>> -
>> -int inet_nonblocking_connect(const char *str, bool *in_progress,
>> - Error **errp)
>> +int inet_nonblocking_connect(const char *str, ConnectHandler *callback,
>> + void *opaque, bool *in_progress, Error **errp)
>> {
>
> Would be nice to have some documentation here.
> Something like "on immediate success or immediate
> failure, in_progress is set to false, in that case
> callback is not invoked".
of course.
>
> If you look at it this way, this API is hard to
> use right. I'd like to suggest we get rid of
> in_progress flag: return -1 on error and
> return >=0 and invoke callback on immediate success.
>
we can even take it further and always invoke the callback
(even for immediate error), this way the user of the function
can put all the error/success handling in the callback function.
Orit
Re: [Qemu-devel] [PATCH v3 3/3] Fix address handling in inet_nonblocking_connect, Markus Armbruster, 2012/09/20
[Qemu-devel] [PATCH v3 2/3] Separate inet_connect into inet_connect (blocking) and inet_nonblocking_connect, Orit Wasserman, 2012/09/13