Здесь нужен мутекс, который будет защищать open_cursors от одновременной модификации и чтения.