tis 2006-06-27 klockan 08:16 +0800 skrev Steven Wilton:

> 
> In the original code for 2.5, I had the following logic in commResumeFD() to
> handle this situation
> 
>     if(!(F->read_handler) || !(F->epoll_backoff)) {
>         debug(5, 2) ("commResumeFD: fd=%d ignoring read_handler=%p,
> epoll_backoff=%d\n",fd,F->read_handler,F->epoll_backoff);
>         F->epoll_backoff=0;
>         return;
>     }

Handle is a matter of definition.. the above ignores the condition.

> What about removing the backoff flag from the fde struct in fd_close(), and
> removing the assert(flags.open) from commResumeFD.  This way, if a fd is
> backed off, then closed, the backoff flag will be removed.  We are then left
> with 2 possible situations:

Removing the assert is fine. I'll replace it with a debug statement.

Clearing the backoff flag is redundant as the whole fde is cleared a few
lines down, and the flag is never looked unless there is also some
handlers set..

But I seriously think this bug is closed since some time back.

Regards
Henrik

Attachment: signature.asc
Description: Detta är en digitalt signerad meddelandedel

Reply via email to