-----------------------------------------------------------
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

Reply via email to