История изменений
Исправление gobot, (текущая версия) :
Переменная кстати не влияет. Я пробовал просто new Process(«zzzzzz») и все равно в старый адрес записывается
Правильно я предполагаю, что данные перезатерлись и теперь тред видит новый объект? Может сделать обнаружение «подмены»? Например в начале записать id объекта, а потом в цикле его проверять
//start thread
int id = self->id;
for (;;) {
if(self->isClosed() || self->id != id) return error("Объект подменен или убит");
}
а то все эти volatile, мьютексы пока сложно для меня. Нужно максимально проще, а то новые баги добавятся, которые ещё труднее определить будет
Исходная версия gobot, :
Переменная кстати не влияет. Я пробовал просто new Process(«zzzzzz») и все равно в старый адрес записывается
Правильно я предполагаю, что данные перезатерлись и теперь тред видит новый объект? Может сделать обнаружение «подмены»? Например в начале записать id объекта, а потом в цикле его проверять
//start thread
int id = self->id;
for (;;) {
if(self->isClosed() || self->id != id) return error("Объект подменен или убит");
}
Или id тоже измениься?
а то все эти volatile, мьютексы пока сложно для меня. Нужно максимально проще, а то новые баги добавятся, которые ещё труднее определить будет