|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Valentin Nechayev 2:5020/400 08 Oct 2002 10:13:03 To : Eugene Karpachov Subject : Re: g++ -------------------------------------------------------------------------------- >>> Eugene Karpachov wrote: >>> Hу а всякие race conditions вообще требуют формального доказательства - это >>> ведь просто - достаточно построить таблицу всех возможных состояний системы >>> (по всем состояниям переключения мутексов и кондишенов) и приписать к >>> каждому из них, что к ним привести может. >> Угу. Вот уж всех состояний. По всему набору переменных и данных, которые >> могут оказаться в динамической памяти, с любым их количеством. Ы? EK> Hе ждал я, что кто-то в здравом уме будет с Луговским спорить :) Кроме здравого ума и твердой памяти, есть третий критерий - "час та натхнення", говоря известным анекдотом. У меня они были в момент написания письма. ;)) >> Код чтения данных: захват лока, поиск данных через дерево => получаем >> указатель, (внимание!) снимаем лок, работаем с данными. Оппа, race condition. >> Hе буду пропускать страницу, чтобы думали, где же race. Те, кто возятся >> с ядром, сразу поймут, остальным так скажу: кто-то другой тут же хватает лок EK> Зачем с ядром - это и без ядра типичный паттерн ошибки: захватить в Это типичный паттерн ошибки для тех, кто с этим возился. А меня от Луговского интересовало, как он собирается вычислить это на основании своей "общей теории всего". Вдруг чудо произойдет? ;)) EK> критической секции указатель на данные, которыми не владеешь (то есть EK> фактически не захватить). Это действительно поймёт любой, кто возится - EK> только не с ядром, а вообще с нитками. Поправка принимается. EK> (Справедливости ради скажу, что поймёт этот EK> самый любой это после того уже, как получит этими граблями по лбу хотя бы EK> раз.) Hу, я вспомнил то, что в линуксе выглядит как fget() и fput(). Или BSD'шные vget(), vput(), vrele(). Общность названий показательна. Hо успел вспомнить до того, как наступили на. /netch --- ifmail v.2.15dev5 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/73680a5bcf4b.html, оценка из 5, голосов 10
|