----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://codereview.secondlife.com/r/435/ -----------------------------------------------------------
Review request for Viewer and David Parks. Summary ------- Fixed a crash caused by a race condition in LLRefCount. Reason: secapiSSLCertVerifyCallback() seems to be called simultaneously by multiple threads, which causes a race condition in LLRefCount::ref/unref() methods. The reference counter in LLSecAPIBasicHandler::mStore goes to zero, and the object gets destroyed. Fix: Derive LLCertificateStore from LLThreadSafeRefCount instead of LLRefCount, which should fix the race condition. Note: The LLThreadSafeRefCount constructor is private, so we have to wrap instances of the class with LLPointer. This addresses bug STORM-1546. http://jira.secondlife.com/browse/STORM-1546 Diffs ----- indra/newview/llsecapi.h 8f15e5a13e8f indra/newview/llsechandler_basic.cpp 8f15e5a13e8f Diff: http://codereview.secondlife.com/r/435/diff Testing ------- Thanks, Vadim
_______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/OpenSource-Dev Please read the policies before posting to keep unmoderated posting privileges