Niels Provos provos at
Wed Mar 7 18:46:41 UTC 2007

On 3/7/07, Toby Douglass <toby.douglass at> wrote:
> I'm not familiar with libevent, but if it actually has callers waiting, in
> a sleep, for events to occur, then all the event handling under Win32 will
> need to be rewritten to use I/O completion events.  I think it is not
> possible to use IOCP in conjunction with normal Wait() type functions,
> which I suspect libevent must ultimately rest upon.

Hi Toby,

for the amount of email that you have sent to the libevent mailing
list, it's surprising that you don't know more about it.  Libevent
provides notifications for non-blocking IO.  That means that there are
no callers waiting in sleep.  Any processing using a libevent-like
frameworks is done via callbacks.  Each callback is assumed to be
non-blocking and fast to complete.

Nick's suggestion about investigating the bufferevent layer in
libevent seems very reasonable.  There are quite a few low-hanging
fruits for optimization.


More information about the tor-dev mailing list