本文整理汇总了C++中sys::ThreadLocal::set方法的典型用法代码示例。如果您正苦于以下问题:C++ ThreadLocal::set方法的具体用法?C++ ThreadLocal::set怎么用?C++ ThreadLocal::set使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sys::ThreadLocal
的用法示例。
在下文中一共展示了ThreadLocal::set方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Enable
void CrashRecoveryContext::Enable() {
sys::ScopedLock L(*gCrashRecoveryContextMutex);
if (gCrashRecoveryEnabled)
return;
gCrashRecoveryEnabled = true;
// We can set up vectored exception handling now. We will install our
// handler as the front of the list, though there's no assurances that
// it will remain at the front (another call could install itself before
// our handler). This 1) isn't likely, and 2) shouldn't cause problems.
PVOID handle = ::AddVectoredExceptionHandler(1, ExceptionHandler);
sCurrentExceptionHandle.set(handle);
}
示例2: while
CrashRecoveryContext::~CrashRecoveryContext() {
// Reclaim registered resources.
CrashRecoveryContextCleanup *i = head;
tlIsRecoveringFromCrash.set(head);
while (i) {
CrashRecoveryContextCleanup *tmp = i;
i = tmp->next;
tmp->cleanupFired = true;
tmp->recoverResources();
delete tmp;
}
tlIsRecoveringFromCrash.erase();
CrashRecoveryContextImpl *CRCI = (CrashRecoveryContextImpl *) Impl;
delete CRCI;
}
示例3: Disable
void CrashRecoveryContext::Disable() {
sys::ScopedLock L(*gCrashRecoveryContextMutex);
if (!gCrashRecoveryEnabled)
return;
gCrashRecoveryEnabled = false;
PVOID currentHandle = const_cast<PVOID>(sCurrentExceptionHandle.get());
if (currentHandle) {
// Now we can remove the vectored exception handler from the chain
::RemoveVectoredExceptionHandler(currentHandle);
// Reset the handle in our thread-local set.
sCurrentExceptionHandle.set(NULL);
}
}