diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2022-09-07 01:11:47 +0300 | 
|---|---|---|
| committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2022-09-08 02:19:13 +0300 | 
| commit | c3fe23ef14a51b54342be604ad74f9b8fddb0524 (patch) | |
| tree | f038c866375be103b402015b58124cd195324692 | |
| parent | 1cc4e061bb2a59f2003d5e8ae514ae4407800222 (diff) | |
SL-15787 Crash at setCapability
| -rw-r--r-- | indra/newview/llviewerregion.cpp | 16 | 
1 files changed, 16 insertions, 0 deletions
| diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 4e5000112e..fb55c5e816 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -2282,6 +2282,11 @@ void LLViewerRegion::requestSimulatorFeatures()          std::string coroname =              LLCoros::instance().launch("LLViewerRegionImpl::requestSimulatorFeatureCoro",                                         boost::bind(&LLViewerRegionImpl::requestSimulatorFeatureCoro, url, getHandle())); + +        // requestSimulatorFeatures can be called from other coros, +        // launch() acts like a suspend() +        // Make sure we are still good to do +        LLCoros::checkStop();          LL_INFOS("AppInit", "SimulatorFeatures") << "Launching " << coroname << " requesting simulator features from " << url << " for region " << getRegionID() << LL_ENDL;      } @@ -3103,6 +3108,12 @@ void LLViewerRegion::setSeedCapability(const std::string& url)          std::string coroname =              LLCoros::instance().launch("LLEnvironmentRequest::requestBaseCapabilitiesCompleteCoro",              boost::bind(&LLViewerRegionImpl::requestBaseCapabilitiesCompleteCoro, getHandle())); + +        // setSeedCapability can be called from other coros, +        // launch() acts like a suspend() +        // Make sure we are still good to do +        LLCoros::checkStop(); +  		return;      } @@ -3116,6 +3127,11 @@ void LLViewerRegion::setSeedCapability(const std::string& url)          LLCoros::instance().launch("LLViewerRegionImpl::requestBaseCapabilitiesCoro",          boost::bind(&LLViewerRegionImpl::requestBaseCapabilitiesCoro, getHandle())); +    // setSeedCapability can be called from other coros, +    // launch() acts like a suspend() +    // Make sure we are still good to do +    LLCoros::checkStop(); +      LL_INFOS("AppInit", "Capabilities") << "Launching " << coroname << " requesting seed capabilities from " << url << " for region " << getRegionID() << LL_ENDL;  } | 
