← All posts tagged work

ну вот, на запуск сислог-нг у меня ушла почти неделя О_о И это я ещё не закончил пилить свою rpm'ку: конфиг придётся править, состав модулей, может, поменять... Да и вообще, мало ли что-где. Но уже сейчас я в восторге от того, что конфиг сделан вообще 1 в 1 как в nginx'е: аккуратненько собраны определения "откуда", "куда" и коммутация этих направлений. Полный, щенячий восторг. На радостях подумал, что пора определиться с тем, чего же я хочу от него. А то оно столько всего умеет *__*
also, узнал про тэг *code. Рекомендую. Половину сообщений с ним писать теперь буду. Спасибо @sergey-klay за уместное замечание к одному из предыдущих сообщений.

Это всё-таки круто, в одном месте поправить код, а в другом - забыть. Как называется процесс, когда смотрят код, ищут в нём вызовы функций и смотрят, что в эти вызовы передаётся? Review?

void
nv_registry_add_alias(NVRegistry *self, NVHandle handle, const gchar *alias)
{
  g_static_mutex_lock(&nv_registry_lock);

  g_hash_table_insert(self->name_map, (gchar*)alias, GUINT_TO_POINTER((glong) handle));
  g_static_mutex_unlock(&nv_registry_lock);
}

NVHandle
nv_registry_alloc_handle(NVRegistry *self, const gchar *name)
{
/*skipped a bit*/
  stored.name_len = len;
  stored.name = g_strdup(name);
  g_array_append_val(self->names, stored);
  g_hash_table_insert(self->name_map, stored.name, GUINT_TO_POINTER(self->names->len));
}

чем больше смотрю на rsyslog, тем больше хочется переписать в нём всё, кроме собственно парсера сислога. Я уж молчу про отсутствующую документацию. Или, что ещё хуже, неправильную и противоречивую документацию.
Казалось бы, что может быть проще: слепить несколько модулей с параметрами в цепочку обработки. Ан нет, то одно не работает, то другое.