Как бы так голдед зарефакторить?
Alexey Vissarionov написал(а) к Nil A в Feb 23 08:08:08 по местному времени:
Доброго времени суток, Nil!
07 Feb 2023 07:27:14, ты -> мне:
AV>> Выделиться-то он, может быть, и выделится, но при попытке работать
AV>> с этим огромным блоком в какой-то момент прилетит SIGSEGV.
NA> Дядь Гремлин, косячишь второй раз при мне.
Да мне, наверное, уже пора на какую-нибудь кнопку в эхотаге (вот, кстати, и антиоффтопик) повесить макрос для вставки фразы наподобие "пишу по памяти, проверять некогда"...
NA> Первый раз был, когда утверждал, что на линуксовый epoll(2) можно
NA> повесить файловые операции, и ловить готовность также, как и на
NA> сокетах, но я тебе тогда указал на строчки в ядре, где тип
NA> дескриптора проверяется.
Проверяется, и пусть проверяется... Да, смысла в epoll() для файлов не очень много, но теоретически ничего не мешало: дескрипторы - они и есть дескрипторы.
NA> Но тут то, в линуксах эти маллоки, если много просишь, то они уходят
NA> в mmap(2),
Ну да - щас почти все через анонимный mmap() выделяется.
NA> и тот тебе даст без вопросов, если такой размер одним куском можно
NA> разместить в адресном пространстве процесса, привет все эти лимиты,
На 64-битных системах с околоединичной вероятностью таки можно. Жалко только, что адресное пространство - это не реально доступная физическая память :-)
NA> хотя Виталий утверждает, что маллок проверит размер на ram+swap, но
NA> мне сейчас лень в либси лезть.
А уж мне-то как лень...
NA> А вот дальше с mmap начнутся чудеса, когда ядро не сможет тебе
NA> странички подтянуть, потому что вся память кончилась, то тут будет
NA> SIGBUS, и не как не SIGSEGV.
Если не сможет подтянуть - SIGBUS. Если полезть по указателю в дальний космос - соответственно, SIGSEGV.
NA> Я уже сообщением ранее писал про SIGBUS. Но реально, ты будешь закилян
NA> oom killer быстрее, чем словишь SIGBUS, хотя есть варианты.
На практике - да. Причем не абы каким, а из memory cgroup.
NA>>> но мне пофиг, ты просто не говорил ещё с этими, которые на
NA>>> ВаткомСи сидят, у них там чудеса вообще.
AV>> Вот как раз поддержку DOS можно выкидывать совершенно спокойно.
NA> По мои данным, под DOS собирают DJGPP, который можно найти
NA> современный, даже уровня std=c++14. А вот Watcom C/C++ собирают
NA> под OS/2, о чём я немного общался с Andrew Clarke <3:633/267>.
В любом случае эти системы являются если и не маргинальными, то как минимум экзотическими, а следовательно и сборки под них вторичны.
Как и архитектуры, отличные от x86_64 и aarch64.
--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii
... GPG: 8832FE9FA791F7968AC96E4E909DAC45EF3B1FA8 @ hkp://keys.gnupg.net
--- /bin/vi
|