Changeset 2879 for trunk/src/lib/nt
- Timestamp:
- Sep 5, 2016, 10:14:21 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lib/nt/kFsCache.c
r2872 r2879 414 414 pHashEntry->fAbsolute = fAbsolute; 415 415 pHashEntry->idxMissingGen = (KU8)idxMissingGen; 416 pHashEntry->pFsObj = pFsObj;417 416 pHashEntry->enmError = enmError; 418 417 pHashEntry->pszPath = (const char *)kHlpMemCopy(pHashEntry + 1, pszPath, cchPath + 1); 419 418 if (pFsObj) 420 pHashEntry->uCacheGen = pFsObj->bObjType != KFSOBJ_TYPE_MISSING 421 ? pCache->auGenerations[ pFsObj->fFlags & KFSOBJ_F_USE_CUSTOM_GEN] 422 : pCache->auGenerationsMissing[pFsObj->fFlags & KFSOBJ_F_USE_CUSTOM_GEN]; 423 else if (enmError != KFSLOOKUPERROR_UNSUPPORTED) 424 pHashEntry->uCacheGen = pCache->auGenerationsMissing[idxMissingGen]; 419 { 420 pHashEntry->pFsObj = kFsCacheObjRetainInternal(pFsObj); 421 pHashEntry->uCacheGen = pFsObj->bObjType != KFSOBJ_TYPE_MISSING 422 ? pCache->auGenerations[ pFsObj->fFlags & KFSOBJ_F_USE_CUSTOM_GEN] 423 : pCache->auGenerationsMissing[pFsObj->fFlags & KFSOBJ_F_USE_CUSTOM_GEN]; 424 pFsObj->abUnused[0] += 1; // for debugging 425 } 425 426 else 426 pHashEntry->uCacheGen = KFSOBJ_CACHE_GEN_IGNORE; 427 { 428 pHashEntry->pFsObj = NULL; 429 if (enmError != KFSLOOKUPERROR_UNSUPPORTED) 430 pHashEntry->uCacheGen = pCache->auGenerationsMissing[idxMissingGen]; 431 else 432 pHashEntry->uCacheGen = KFSOBJ_CACHE_GEN_IGNORE; 433 } 427 434 428 435 pHashEntry->pNext = pCache->apAnsiPaths[idxHashTab]; … … 464 471 pHashEntry->fAbsolute = fAbsolute; 465 472 pHashEntry->idxMissingGen = (KU8)idxMissingGen; 466 pHashEntry->pFsObj = pFsObj;467 473 pHashEntry->enmError = enmError; 468 474 pHashEntry->pwszPath = (const wchar_t *)kHlpMemCopy(pHashEntry + 1, pwszPath, (cwcPath + 1) * sizeof(wchar_t)); 469 475 if (pFsObj) 470 pHashEntry->uCacheGen = pFsObj->bObjType != KFSOBJ_TYPE_MISSING 471 ? pCache->auGenerations[ pFsObj->fFlags & KFSOBJ_F_USE_CUSTOM_GEN] 472 : pCache->auGenerationsMissing[pFsObj->fFlags & KFSOBJ_F_USE_CUSTOM_GEN]; 473 else if (enmError != KFSLOOKUPERROR_UNSUPPORTED) 474 pHashEntry->uCacheGen = pCache->auGenerationsMissing[idxMissingGen]; 476 { 477 pHashEntry->pFsObj = kFsCacheObjRetainInternal(pFsObj); 478 pHashEntry->uCacheGen = pFsObj->bObjType != KFSOBJ_TYPE_MISSING 479 ? pCache->auGenerations[ pFsObj->fFlags & KFSOBJ_F_USE_CUSTOM_GEN] 480 : pCache->auGenerationsMissing[pFsObj->fFlags & KFSOBJ_F_USE_CUSTOM_GEN]; 481 pFsObj->abUnused[0] += 1; // for debugging 482 } 475 483 else 476 pHashEntry->uCacheGen = KFSOBJ_CACHE_GEN_IGNORE; 484 { 485 pHashEntry->pFsObj = NULL; 486 if (enmError != KFSLOOKUPERROR_UNSUPPORTED) 487 pHashEntry->uCacheGen = pCache->auGenerationsMissing[idxMissingGen]; 488 else 489 pHashEntry->uCacheGen = KFSOBJ_CACHE_GEN_IGNORE; 490 } 477 491 478 492 pHashEntry->pNext = pCache->apUtf16Paths[idxHashTab]; … … 3364 3378 3365 3379 KFSCACHE_LOG(("Destroying %s/%s, type=%d\n", pObj->pParent ? pObj->pParent->Obj.pszName : "", pObj->pszName, pObj->bObjType)); 3380 if (pObj->abUnused[1] != 0) 3381 { 3382 fprintf(stderr, "Destroying %s/%s, type=%d, path hash entries: %d!\n", pObj->pParent ? pObj->pParent->Obj.pszName : "", 3383 pObj->pszName, pObj->bObjType, pObj->abUnused[0]); 3384 __debugbreak(); 3385 } 3366 3386 3367 3387 /*
Note:
See TracChangeset
for help on using the changeset viewer.