Windows: AFSDeleteObjectInfo InterlockedCompareExchangePointer
[openafs.git] / src / WINNT / afsrdr / kernel / lib / AFSGeneric.cpp
index 5a9c833..f5bb20c 100644 (file)
@@ -6848,14 +6848,14 @@ AFSDeleteObjectInfo( IN AFSObjectInfoCB **ppObjectInfo)
         // embedded in the VolumeCB.
         //
 
-        ASSERT( TRUE);
+        ASSERT( FALSE);
 
         return;
     }
 
     pObjectInfo = (AFSObjectInfoCB *) InterlockedCompareExchangePointer( (PVOID *)ppObjectInfo,
                                                                          NULL,
-                                                                         (PVOID *)ppObjectInfo);
+                                                                         *ppObjectInfo);
 
     if ( pObjectInfo == NULL)
     {
@@ -6863,6 +6863,8 @@ AFSDeleteObjectInfo( IN AFSObjectInfoCB **ppObjectInfo)
         return;
     }
 
+    ASSERT( *ppObjectInfo == NULL);
+
     ASSERT( pObjectInfo->ObjectReferenceCount == 0);
 
     bHeldInService = BooleanFlagOn( pObjectInfo->Flags, AFS_OBJECT_HELD_IN_SERVICE);