----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://codereview.secondlife.com/r/435/#review960 -----------------------------------------------------------
Ship it! Looks good -- make sure to ask QA to do a performance A/B test to make sure this doesn't introduce frame stalls. - David On Aug. 9, 2011, 12:55 p.m., Vadim ProductEngine wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://codereview.secondlife.com/r/435/ > ----------------------------------------------------------- > > (Updated Aug. 9, 2011, 12:55 p.m.) > > > 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