[Bf-blender-cvs] [8a825f1ce49] usd-importer-T81257-merge: Pulled latest from master branch.

makowalski noreply at git.blender.org
Mon Jul 12 20:14:41 CEST 2021


Commit: 8a825f1ce4966f434266eb0d81f75e840b5e5021
Author: makowalski
Date:   Mon Jul 12 11:22:20 2021 -0400
Branches: usd-importer-T81257-merge
https://developer.blender.org/rB8a825f1ce4966f434266eb0d81f75e840b5e5021

Pulled latest from master branch.

===================================================================



===================================================================

diff --cc source/blender/blenkernel/intern/cachefile.c
index a37db18584c,30e9ae39b67..8718f4fa3c2
--- a/source/blender/blenkernel/intern/cachefile.c
+++ b/source/blender/blenkernel/intern/cachefile.c
@@@ -216,31 -197,18 +216,32 @@@ void BKE_cachefile_reader_open(CacheFil
  
  void BKE_cachefile_reader_free(CacheFile *cache_file, struct CacheReader **reader)
  {
 -#ifdef WITH_ALEMBIC
 +#if defined(WITH_ALEMBIC) || defined(WITH_USD)
+   /* Multiple modifiers and constraints can call this function concurrently, and
+    * cachefile_handle_free() can also be called at the same time. */
+   BLI_spin_lock(&spin);
    if (*reader != NULL) {
      if (cache_file) {
        BLI_assert(cache_file->id.tag & LIB_TAG_COPIED_ON_WRITE);
 +
 +      switch (cache_file->type) {
 +        case CACHEFILE_TYPE_ALEMBIC:
 +#  ifdef WITH_ALEMBIC
 +          ABC_CacheReader_free(*reader);
 +#  endif
 +          break;
 +        case CACHEFILE_TYPE_USD:
 +#  ifdef WITH_USD
 +          USD_CacheReader_free(*reader);
 +#  endif
 +          break;
 +        case CACHE_FILE_TYPE_INVALID:
 +          break;
 +      }
      }
  
 -    CacheReader_free(*reader);
      *reader = NULL;
  
-     /* Multiple modifiers and constraints can call this function concurrently. */
-     BLI_spin_lock(&spin);
      if (cache_file && cache_file->handle_readers) {
        BLI_gset_remove(cache_file->handle_readers, reader, NULL);
      }



More information about the Bf-blender-cvs mailing list