[PATCH]: Fix the bug tevent_req_poll() loops forever(was:
[PATCH] (partial) tevent_req_poll() loops for ever....)
Stefan (metze) Metzmacher
metze at samba.org
Sun May 17 08:30:24 GMT 2009
Hi Bo,
The return NULL before the tevent_req_create() call is wrong.
we need to just do a
if (cli->fd == -1) {
tevent_req_nterror(req, NT_STATUS_CONNECTION_IVALID);
return tevent_req_post(req);
}
after it, otherwise the caller thinks the error would be
NT_STATUS_NO_MEMORY.
I also think it's wrong to hande NT_STATUS_PIPE_BROKEN in the callers.
to close the connection. That should happen directly when
read_packet_recv() fails. Because I assume the NT_STATUS_PIPE_BROKEN
is not the only error that can happen and we should disconnect on any
error from read_packet_recv().
metze
> boyang wrote:
>> Jeremy Allison wrote:
>>
>>> Ok, I've reviewed this carefully (with some test code) and you're
>>> completely correct.
>>>
>>> We'll have to deal with this, I've talked to Volker and he has
>>> some ideas on how to deal with this efficiently.
>>>
>>>
>>
> Hi, everyone:
> Can someone please have a look at this? If it looks ok, I'll push
> it to master. :-) Because there is change to struct cli_state, I need
> someone to comment on this to see if it has any side effect, or
> anything. :-)
> Thanks!
> Best
> Regards
> BoYang
>>
>>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
Url : http://lists.samba.org/archive/samba-technical/attachments/20090517/2b9ef4ad/signature.bin
More information about the samba-technical
mailing list