1
我没有发现任何有关此错误的信息......任何想法来自哪里?警告:检索到TSD插槽10,但线程数据已被拆除
Warning: TSD slot 10 retrieved but the thread data has already been torn down.
Warning: TSD slot 10 set but the thread data has already been torn down.
不知道如何调试这个错误。不完全知道警告发生在哪里。
我发现这个在CFPlatform.c
// For the use of CF and Foundation only
CF_EXPORT void *_CFGetTSD(uint32_t slot) {
if (slot > CF_TSD_MAX_SLOTS) {
_CFLogSimple(kCFLogLevelError, "Error: TSD slot %d out of range (get)", slot);
HALT;
}
__CFTSDTable *table = __CFTSDGetTable();
if (!table) {
// Someone is getting TSD during thread destruction. The table is gone, so we can't get any data anymore.
_CFLogSimple(kCFLogLevelWarning, "Warning: TSD slot %d retrieved but the thread data has already been torn down.", slot);
return NULL;
}
uintptr_t *slots = (uintptr_t *)(table->data);
return (void *)slots[slot];
}