ISISComputingGroup / ISISComputingGroup/IBEX
BLOCKSVR: check PVs can be safely deleted and fix if not
- 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.