On Apr 29, 2010, at 11:19 AM, Sebastian Sjöberg wrote:

> Hi,

Some additions and corrections. I've tested this on the latest libevent from 
git.

> 
> I've encountered a problem with openssl bufferevents where libevent reports 
> fd:s as writeable but no action is being taken.

After adding some more debug printouts in libevent it turns out that the fd:s 
are reported as readable but they never get processed because the macro 
N_ACTIVE_CALLBACKS() reports 0.

> 
> The program does the following:
> 
> An evconnlistener waits for connections and when an connection by a client is 
> made we set up an reading event. When the new connection is readable we peek 
> the data to see if it's tls and if it's tls we set up an openssl bufferevent 
> on that connection. We read the http request and write some data as reply, 
> the bufferevent is then kept as we write commands on this connection when 
> needed.
> 
> The issue appears (intermittently) when I'm connecting 20-100 clients and 
> libevent debug output continuously reports:
> 
> [debug] epoll_dispatch: epoll_wait reports 78
> [debug] timeout_next: in 88 seconds
> [debug] epoll_dispatch: epoll_wait reports 78
> [debug] timeout_next: in 88 seconds
> [debug] epoll_dispatch: epoll_wait reports 78
> [debug] timeout_next: in 88 seconds
> [debug] epoll_dispatch: epoll_wait reports 78
> [debug] timeout_next: in 88 seconds
> [debug] epoll_dispatch: epoll_wait reports 78
> [debug] timeout_next: in 88 seconds
> [debug] epoll_dispatch: epoll_wait reports 78
> [debug] timeout_next: in 88 seconds
> [debug] epoll_dispatch: epoll_wait reports 78
> [debug] timeout_next: in 88 seconds
> 
> There is no problem when I'm connecting without tls so I think this is an 
> issue with openssl bufferevents and my guess is that somehow the write events 
> that openssl bufferevents sets up sometimes doesn't get removed or disabled 
> properly.
> 
> Is this an issue that someone else has seen and does anyone have any pointers 
> on how to debug this problem?
> 
> Best regards,
> Sebastian Sjöberg
> 
> ***********************************************************************
> To unsubscribe, send an e-mail to majord...@freehaven.net with
> unsubscribe libevent-users    in the body.

***********************************************************************
To unsubscribe, send an e-mail to majord...@freehaven.net with
unsubscribe libevent-users    in the body.

Reply via email to