mdsplus icon indicating copy to clipboard operation
mdsplus copied to clipboard

Fix: mdsip services zombie processes

Open santorofer opened this issue 1 year ago • 1 comments

When executing a shot cycle using D-Tacq's digitizers, sometimes mdsip processes become zombie processes. This, in turn, will break the shot cycle for the user.

Those mdsip process will contain sockets that were kept open, even when no data was being received.

Solution: the while loop that controls the data being received from the socket (in the device driver) has now a new logic, that includes using the value of the running node (false or true) to exit the loop correctly when executing the stop method.

For this to work, the user needs to be sure it runs the stop method for the device.

santorofer avatar Oct 25 '23 19:10 santorofer

Yes, that is correct, we basically fixed two drivers for modules 435 and 423. Now, I think our change to the same part of the code are the same as your suggestion, am I right? Because we also check for a socket.timeout in the try when reading the memoryview(), which is where the check for the nbytes is. I must be missing something.

santorofer avatar Jun 10 '24 19:06 santorofer