Mark, Yes, I have enabled OpenSSL locking, including setting up dynamic locking. I have verified the locks are "running" by watching the various lock callbacks occuring. I "stole" the locking code from the book "Network Security with OpenSSL", by Viega/Messier/Chandra.
Thanks, -John ----- Original Message ----- From: Mark Ellzey <mtho...@strcpy.net> To: libevent-us...@freehaven.net Cc: Sent: Wednesday, March 27, 2013 7:23 AM Subject: Re: [Libevent-users] Simple question about multithreading SSL bufferevents. On Tue, Mar 26, 2013 at 03:32:17PM -0700, John wrote: > Hello all, > > I am having significant issues with (near immediate) deadlock when trying to > send data out a single openssl bufferevent from two separate threads. The > individual threads themselves send complete messages with each write. This > should present no real problem from a synchronization perspective. In fact, > the code works flawlessly when using ordinary bufferevents (not ssl > bufferevents). > Have you enabled OpenSSL locking? OpenSSL uses a myriad of global variables and you have to initalize a set of mutexes and set lock/unlock callbacks via ssl. See https://github.com/ellzey/libevhtp/blob/master/evhtp.c#L3160 as an example. *********************************************************************** 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.