Does writing to an output evbuffer (specifocally I use evbuffer_add_reference) of a bufferevent attempt to acquire the event_base's lock? I.e., if thread A calls evbuffer_add_reference(bufferevent_get_output(bev), data, data_len, cleanupfn, extra) - will it block while thread B that dispatches on bev's event_base is handling active events?
Bringing this matter up - I think that an API for asynchronous (e.g., event driven) addition/deletion of events would be useful. Thanks, Avi