ISISComputingGroup / ISISComputingGroup/IBEX

BLOCKSVR: check PVs can be safely deleted and fix if not

Open
#2,849 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
6
Forks
2
Avg merge
16h 40m
Merged PRs (30d)
2

Description

This follows on from #2824 where there were issues with re-creating PVs that lead to them being deleted during an external read. The blockserver has code for deleting PVs, I expect for when a synoptic is deleted etc. It needs to be verified that calling such code does not also cause a similar crash. This could be tested by having multiple monitors / looped reads on a synoptic PV and then issuing a delete of this from python.

What I think might be a safer option (if possible) would be to recode the python delete to be run in a different thread. From #2824 it would seem that the read of the PV was running on the same thread as the delete, I'm guessing the main interpreter thread, so the C++ locking didn't protect. If the delete could be run on a different thread, then it would wait in C++ until the read had finished.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.