<html><head></head><body>Hi Teus,<br>
<br>
Yes, as Greg has pointed out, we&#39;ve done our best to make it easy to perform multitheaded operations with the library by allowing you to instantiate a new SWMgr for each thread. We don&#39;t use threading libraries ourself inside the engine to lock critical sections but instead we tried to avoid critical sections within one instance of an SWMgr. We allocate a distinct instance of SWMgr per thread in many of our friends, e.g., one SWMgr for display and one for search so we can search in a separate thread.<br>
<br>
With a standard threading mechanism included in C++11 we might consider conditionally compiling in support to assure some iffy common sections of code are in fact safe. I am specifically thinking of junk buffers in SWBuf (but I think we cleaned those up) and also FileMgr, which handles closing and reopening file handles at the system level when resources are tight.<br><br><div class="gmail_quote">On January 11, 2016 5:52:58 AM MST, Teus Benschop &lt;teusjannette@gmail.com&gt; wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div dir="ltr">Hi,<div><br /></div><div>When accessing libsword simultaneously from multiple threads, it often crashes. When surrounding the calls to the library with a mutex.lock and a mutex.unlock at the end, there&#39;s no crashes when accessing it in the same situation. I am seeing this on Linux and on the Mac. Should I do something in the library, or make a special call, to make it thread-safe? Or is surrounding the library calls with a mutex the recommended way to handle this?</div><div><br /></div><div>Teus.</div></div>
<p style="margin-top: 2.5em; margin-bottom: 1em; border-bottom: 1px solid #000"></p><pre class="k9mail"><hr /><br />sword-devel mailing list: sword-devel@crosswire.org<br /><a href="http://www.crosswire.org/mailman/listinfo/sword-devel">http://www.crosswire.org/mailman/listinfo/sword-devel</a><br />Instructions to unsubscribe/change your settings at above page</pre></blockquote></div><br>
-- <br>
Sent from my Android device with K-9 Mail. Please excuse my brevity.</body></html>