Anatoly Vorobey (avva) wrote,
Anatoly Vorobey
avva

Categories:

юникс, программирование, всячина

1. Увидев в документации "For FMTYEWTK about this", расшифровал примерно через секунду. Аж самому страшно стало.

2. Залезь достаточно глубоко в любую хорошую и красивую программу, и обнаружишь внутри море спрятанного уродства. Сейчас копаюсь во внутренностях apache, а конкретно scoreboard (большая структура, в которую главный процесс пишет информацию для детей, а дети (процессы, которые собственно обрабатывают запросы) информацию для папы). Нам нужем модуль, который бы гулял по scoreboard, смотрел на статус детей, узнавал, сколько есть свободных детей на данной машине, и посылал эту информацию на центральный сервер. Это поможет нам сделать более эффективный load balancing запросов, чем есть сейчас.

scoreboard, по сути дела - два массива структур, в каждом по одной структуре per child. В одном массиве структуры для отца (он туда пишет информацию), в другом для сыновей (они пишут статус, время работы над запросом итп.). Каждая из этих структур определяется с несколькими #ifdef'ами внутри: если OS поддерживает такую-то функцию, внесём такое-то дополнительное поле итп. Как дети малые: неужели не понимают, что для структуры, к-ю использует не только код сервера, но и модули всякие нередко, неплохо бы иметь одинаковое устройство независимо от compile-time опций? Ну так внесите туда эти несчастные 8 байт в любом случае, жалко что ли? - вся структура в 20 раз больше всё равно, это ничего не изменит. Нет, они всё сделали с правильными #define'ами, зато теперь берём, скажем, binary distribution сервера, а модуль к нему компилируем сами, и у них выходит несовместимость этой структуры и гитлер капут. Бред какой-то.

3. Вода камень точит. Это насчёт моего исправления бага в mutt, на которое не обратил внимание никто на рассылке, и мейнтейнер моё личное письмо проигнорировал. Я подождал и опять послал на рассылку с ехидным предисловием; на этот раз его довольно быстро всунули в CVS, так что в следующей версии будет.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 8 comments