[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [Libevent-users] Crash in my simple multi-threaded evhttp app [code incl.]



You could always fix evhttp's threading bugs, Mark may let you use his
libevhtp code in doing so.  I gather libevhtp isn't a direct drop-in
backward-compatible evhttp replacement but could be with a bit of
work.

Cheers,
Dave Hart

On Thu, Jun 28, 2012 at 04:38 UTC, Julian Bui <julianbui@xxxxxxxxx> wrote:
> Thanks for replying, Nick.
>
> I probably cannot use libevhtp because it appears to be too small of a
> project to get company approval for my application.  We worry about support
> and maintenance issues.
>
> Does anyone have any other suggestions for an embedded http server/library
> that has multi-threaded support?
>
> I've been programming with libevent for a few weeks now and have really
> liked the interfaces and capabilities which makes it frustrating to hear
> that I won't be able to use the http capabilities because of its threading
> limitations.
>
> -Julian
>
>
> On Wed, Jun 27, 2012 at 8:37 PM, Nick Mathewson <nickm@xxxxxxxxxxxxx> wrote:
>>
>> On Wed, Jun 27, 2012 at 2:02 PM, Julian Bui <julianbui@xxxxxxxxx> wrote:
>>
>> > QUESTIONS:
>> > -was evhttp meant to be used this way?  Should I not be calling
>> > evhttp_send_reply/error from a different thread?  I have set
>> > up evthread_lock_callbacks, so I would think that a multi-threaded app
>> > should work.
>>
>> I'm pretty sure that evhttp is not safe for use from multiple threads
>> at once.  If you need an HTTP server library suitable for
>> multithreaded use, I'd strongly suggest you take a look at Mark's
>> libevhtp; it appears to be much better than evhttp.
>>
>> --
>> Nick
>> ***********************************************************************
>> To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
>> unsubscribe libevent-users    in the body.
>
>
***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users    in the body.