2011-12-22 7 views
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. 

このエラーをデバッグする方法がわかりません。警告がどこで発生するか正確には知らないでください。

は私が

// 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]; 
} 

答えて

関連する問題