Skip to content

Commit 895efbf

Browse files
authored
Merge pull request #1304 from sideeffects/send_upstream_fixvdbmergemultithread
The vdbPrimsToRemove in MergeOp is shared across threads,
2 parents ad209a3 + 7cc06f7 commit 895efbf

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

openvdb_houdini/openvdb_houdini/SOP_OpenVDB_Merge.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
#include <UT/UT_Interrupt.h>
2222
#include <UT/UT_Version.h>
23+
#include <UT/UT_ConcurrentVector.h>
2324
#include <stdexcept>
2425
#include <string>
2526
#include <vector>
@@ -297,7 +298,7 @@ struct MergeOp
297298
StringRemapType opRemap;
298299
std::deque<GU_PrimVDB*> vdbPrims;
299300
std::deque<const GU_PrimVDB*> constVdbPrims;
300-
std::deque<GU_PrimVDB*> vdbPrimsToRemove;
301+
UT_ConcurrentVector<GU_PrimVDB*> vdbPrimsToRemove;
301302
PrimitiveNumberMap primNumbers;
302303

303304
explicit MergeOp(openvdb::util::NullInterrupter& _interrupt): self(nullptr), interrupt(_interrupt) { }

pendingchanges/vdbmerge_fix.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Houdini:
2+
- Fix race condition in OpenVDB Merge SOP that could cause crashes
3+
or merged VDBs to not be deleted.

0 commit comments

Comments
 (0)