synchronized void captureCheckpointManagedObjects ( ) { if ( Tracing . isAnyTracingEnabled ( ) && trace . isEntryEnabled ( ) ) trace . entry ( this , cclass , "captureCheckpointManagedObjectsremove" ) ; // Now that we are synchronized check that we have not captured the checkpoint sets already. if ( checkpointManagedObjectsToWrite == null ) { // Take the tokens to write first, if we miss a delete we will catch it next time. // The managedObjectsToWrite and tokensToDelete sets are volatile so users of the store will move to them // promptly. checkpointManagedObjectsToWrite = managedObjectsToWrite ; managedObjectsToWrite = new ConcurrentHashMap ( concurrency ) ; checkpointTokensToDelete = tokensToDelete ; tokensToDelete = new ConcurrentHashMap ( concurrency ) ; } if ( Tracing . isAnyTracingEnabled ( ) && trace . isEntryEnabled ( ) ) trace . exit ( this , cclass , "captureCheckpointManagedObjects" ) ; }
Capture the ManagedObjects to write and delete as part of the checkpoint .