On Fri, Jun 8, 2012 at 3:15 PM, Zhi Yong Wu <zwu.ker...@gmail.com> wrote:
> On Fri, Jun 8, 2012 at 6:31 PM, Stefan Hajnoczi <stefa...@gmail.com> wrote:
>> On Thu, Jun 7, 2012 at 3:54 PM,  <zwu.ker...@gmail.com> 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.

Stefan

Reply via email to