Hello Vladimir,
Friday, June 20, 2003, 8:39:42 PM, you wrote:
>> Есть еще один ньанс, фильтр с настройками этого пользователя, вообще
>> никогда никуда (ни в какие дескрипторы, а демону передается только
>> путь до письма) не пишет писем, кроме уведомлений (но в них нету ни
>> UUE, ни BASE64 кои видны в этом логе).
VAB> Как это?
А вот так, фильтр вообще не читает письмо (при имевшей место
настройке), только заголовок его. Поэтому в памяти фильтра MIME вообще
оказаться не может (в принципе), демону он передает настройки + путь
до письма.
VAB> Если фильтр разнес свою память, Если бы такое случалось, нас бы уже завалили буг-репортами.
VAB> то он будет писать куда угодно
Интересно, как можно писать куда угодно ? Дескрипторов 1-2 и обчелся:
0, 1, 2 - ваши по наследсту
к - сислог
к+1 - сокет к демону.
Никуда из этих письмо попасть не могло.
VAB> и что угодно. Все бы хорошо, но и тела письма в памяти фильтра тоже никогда не было (в такой конфигурации), а получить в рандоме нетронутого MIME на 100 с лишним кило - это ж как повезти должно.
>> Поэтому все же есть маленькая
>> (очень маленькая) надежда, что это сервер запутался в дескрипторах и
>> не туда начал писать письмо.
VAB> "Этт вряд ли". Если бы такое случилось, там бы все упало бы совсем - унутре
VAB> сервера.
Так там все очень плохо и было. Может все-таки перейдем на e-mail,
только куда писать-то ? Мой адрес в подписи.
>> >> 1) По Линуха жестко используется fork().
>> VAB> А... А ответы он как в канал пишет? Из форкнутой копии?
>> Угу. А что могут быть с этим проблемы ?
VAB> А это вопросы к "производителям операционной системы Линукс".
Вообщем пока проблем не наблюдалось.
>> >> 2) printf там не пользуется вообще.
>> VAB> Это хорошо. То есть пишете при помощи write(2)?
>> Да, только write(1, ...) с чего это ему на 2 писать-то.
VAB> Ну, например. В пайпе осталось 20 байт. Передаем 100. 20 записали, встали на VAB> ожидание. Подлетел другой, у которого тоже есть 100 на запись. Встал сразу, VAB> бо писать некуда. Теперь мы этот пайп почитали с другой стороны, освободив VAB> буфер. Если первым пробудился первый, и дописал свои 80 байт - то ляпота. А VAB> если второй - то получится, э, "спорадическая ошибка".
Ну можно конечно проверять, что записали целиком за раз. Только вряд ли с этим связано, по логу аномалий в ответах фильтра принятых до момента как попер MIME сервером не наблюдалось. Best regards,
Sergey Akhapkin <asv@drweb.ru> Software Developer
Этот архив был сгенерирован hypermail 2.1.8 : Tue 21 Feb 2006 - 03:14:24 MSK