ULONG ulBytesConverted;
AFSDirectoryCB *pDirEntry = NULL;
BOOLEAN bReleaseMain = FALSE;
+ BOOLEAN bReleaseFcb = FALSE;
ULONG ulTargetFileType = AFS_FILE_TYPE_UNKNOWN;
AFSFileInfoCB stFileInfo;
BOOLEAN bUseFileInfo = TRUE;
AFSAcquireExcl( &pFcb->NPFcb->Resource,
TRUE);
+ bReleaseFcb = TRUE;
+
//
// Tell the service to prime the cache of the directory content
//
if( !NT_SUCCESS( ntStatus))
{
- AFSReleaseResource( &pFcb->NPFcb->Resource);
-
AFSDbgLogMsg( AFS_SUBSYSTEM_FILE_PROCESSING,
AFS_TRACE_LEVEL_ERROR,
"AFSQueryDirectory Enumerate directory failure for parent %wZ Mask %wZ Status %08lX\n",
AFSAcquireShared( &pFcb->NPFcb->Resource,
TRUE);
+
+ bReleaseFcb = TRUE;
}
//
AFSReleaseResource( &pFcb->NPFcb->Resource);
+ bReleaseFcb = FALSE;
+
//
// Start processing the data
//
AFSReleaseResource( pFcb->ObjectInformation->Specific.Directory.DirectoryNodeHdr.TreeLock);
}
+ if ( bReleaseFcb)
+ {
+
+ AFSReleaseResource( &pFcb->NPFcb->Resource);
+ }
+
if( pFcb != NULL)
{