Re[36]: Безопасность Rust
От: · Великобритания  
Дата: 04.06.19 10:13
Оценка: :)
Здравствуйте, alex_public, Вы писали:

_>>>Ох, ну что за детский сад. Ты реально не в курсе что такое mfence? Ну мне даже лень объяснять, так что поясню проще: https://godbolt.org/z/7zWFvr — с точки зрения вопросов атомарности это в точности тот же самых код с вполне корректным std::atomic, что и раньше, только переписанный чуть под другому. Дальше сам додумаешь? )))

_>·>А как это объяснишь? https://godbolt.org/z/LLNDkD
_>Это кривая реализация встроенной функции gcc __atomic_store_n для данной маргинальной платформы. Собственно тут (https://github.com/michaeljclark/riscv-atomics) можно увидеть две реализации и та, что на сайте godbolt, использует именно кривой вариант через встроенную функцию gcc, а не через ассемблер. Нормальную реализацию можно увидеть например здесь https://github.com/michaeljclark/riscv-atomics/blob/master/src/stdatomic_asm.h#L95. И подробное обсуждение всей этой кривизны можно увидеть здесь https://github.com/michaeljclark/riscv-atomics/tree/master/results.
Ок, ты в очередной раз подменяешь тезис. Но пусть кривая. В любом случае, она ничему не противоречит и имеет право на жизнь. Возможно лишь ухудшает перформанс.
И уж тем более это никак не доказывает, что volatile sig_atomic можно использовать в многопоточке. Доказательством будет фраза в стандарте. А стандарт наоборот это явно запрещает.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.