Hello
I have a C++ application that uses catalyst. I am using the class
vtkCPProcessor like this (consider that I am using: typedef
vtkSmartPointer<vtkCPProcessor> Processor;):
auto processor = Processor::New();
processor->Initialize();
vtkNew<vtkCPPythonScriptPipeline> pipeline;
pipeline->Initialize(path_to_script);
processor->AddPipeline(pipeline.GetPointer());
And then, I have in another part of my code this call:
processorMutex.lock();
processor->CoProcess(dataDescription);
processorMutex.unlock();
It works just fine in a single thread, but if I run the code with multiple
threads, even though I make sure there is a single instance of the processor
and the calls are protected by mutexes the application crash at the
processor->CoProcess(dataDescription) command with some memory error (usually
SIGSEGV).
If I use many instances, the app crash when I try to Initialize the new
Processor. Thus, I'd like to know if there is a way to safely call CoProcess
from many threads?
Thanks
_______________________________________________
Powered by www.kitware.com
ParaView discussion is moving! Please visit https://discourse.paraview.org/ for
future posts.
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at:
http://paraview.org/Wiki/ParaView
Search the list archives at: http://markmail.org/search/?q=ParaView
Follow this link to subscribe/unsubscribe:
https://public.kitware.com/mailman/listinfo/paraview