[Paraview] C++ Catalyst vtkSocket::Receive stuck in loop on Windows

Simon Klarmann klarmann at mechanik.tu-darmstadt.de
Wed Jul 5 10:11:50 EDT 2017


Dear Members,

 

I wanted to get rid of the dependency on Python. The connection by pure C++
works just fine.

 

The problem occurs when establishing the live connection to Paraview,
closing Paraview and then try to send some data again.

I tracked it down to the vtkSocket class inside the method Receive. After
the connection is terminated on the Paraview side, e.g. by closing Paraview,
the call of vtkLiveInsituLink::InsituUpdate gets stuck in the
vtkSocket::Receive method. Even though I get a message that the connection
was terminated.

 

A temporary fix for my case was to replace in Line 609 of the vtkSocket.cxx
if (nRecvd == 0) with if (nRecvd <= 0), because on disconnection the return
value of nRecvd is -1. Then everything works well.

 

I only used the following methods in the given order to transfer the data:

 

vtkLiveInsituLink::InsituUpdate

vtkSMSourceProxy::UpdatePipeline

vtkLiveInsituLink::InsituPostProcess

 

 

Are there further steps to perform or is there a way to check if the
connection is still alive?

 

 

Operating System: Windows 7, Visual Studio 2017

 

Thanks,

Simon

 

 

 

 

Dipl.-Ing. Simon Klarmann

 

Bau- und Umweltingenieurwissenschaften
Technische Universität Darmstadt

Fachgebiet Festkörpermechanik

 

Tel.: +49 6151 16 – 22642

Mail: klarmann at mechanik.tu-darmstadt.de

Franziska-Braun-Straße 7

Gebäude L5|01, Raum 542

64287 Darmstadt

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20170705/70a568b2/attachment.html>


More information about the ParaView mailing list