[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 2/2] net: add the support for -netdev socket,
From: |
Zhi Yong Wu |
Subject: |
Re: [Qemu-devel] [PATCH v5 2/2] net: add the support for -netdev socket, listen |
Date: |
Fri, 8 Jun 2012 22:46:39 +0800 |
On Fri, Jun 8, 2012 at 10:20 PM, Stefan Hajnoczi <address@hidden> wrote:
> On Fri, Jun 8, 2012 at 3:15 PM, Zhi Yong Wu <address@hidden> wrote:
>> On Fri, Jun 8, 2012 at 6:31 PM, Stefan Hajnoczi <address@hidden> wrote:
>>> On Thu, Jun 7, 2012 at 3:54 PM, <address@hidden> wrote:
>>>> @@ -86,7 +82,16 @@ static void net_socket_send(void *opaque)
>>>> /* end of connection */
>>>> eoc:
>>>> qemu_set_fd_handler(s->fd, NULL, NULL, NULL);
>>>> + qemu_set_fd_handler(s->listen_fd, net_socket_accept, NULL, s);
>>>
>>> What happens when this is not a listen socket? I suggest setting
>>> listen_fd to -1 during creation and not calling qemu_set_fd_handler()
>> listen_fd isn't -1 here, and is one valid value when this function is
>> executed.
>>> when listen_fd is -1 here. If listen_fd is 0 then we'll register
>>> net_socket_accept when standard input becomes ready!
>>>
>>>> closesocket(s->fd);
>>>> +
>>>> + s->fd = 0;
>>>
>>> -1 should be used since 0 is a valid file descriptor (standard input).
>> OK. done, but In fact, some other places default fd to zero.
>
> Where? Maybe those places need to be fixed too. The danger with fd=0
> is that we call functions like read()/write()/close() on standard
> input by mistake.
When net_socket_accept() is registered, fd/listen_fd has been not zero
in our codes. So that case you said will not happen for our codes.
>
> Stefan
--
Regards,
Zhi Yong Wu