diff options
author | Vadim ProductEngine <vsavchuk@productengine.com> | 2011-08-09 22:47:19 +0300 |
---|---|---|
committer | Vadim ProductEngine <vsavchuk@productengine.com> | 2011-08-09 22:47:19 +0300 |
commit | 6a7bbe0159c3d92368d674cea9cf3057784ba848 (patch) | |
tree | a54d42382fdcc4102e22d1c5c4ecdef47baf58d9 /indra/llcommon/lldarray.h | |
parent | 608403a8466a44a5aa46c6cae4a7a65ac4bf0084 (diff) |
STORM-1546 FIXED 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.
Diffstat (limited to 'indra/llcommon/lldarray.h')
0 files changed, 0 insertions, 0 deletions