Pull to refresh

Грабли в новой libmemcached

Reading time1 min
Views685
Вряд ли конечно это прочитает кто-то из тех, кому эта информация пригодится, но если вдруг — я буду рад, что помог кому-то сэкономить время =)

Сегодня обновил libmemcached до версии 0.35.
Пересобрал один из своих демонов и попытался запустить.
Но не вышло: получил Floating point error.
Перехват сигнала и вывод под-кода ошибки помог уточнить ее — это оказалась ошибка деления на ноль.
В коде демона такой ошибки быть не могло совершенно точно, поэтому я начал разбираться в коде, работающем с libmemcached.

Не буду описывать все пляски с бубном и ход моих умозаключений, но в конечном итоге помогло объявление глобальной переменной (в модуле, работающем с libmemcached), хранящей структуру информации о соединении с сервером memcached, как static.

static memcached_st mcstate;


Не понимаю практического смысла такого объявления данной переменной и того, почему это так повлияло, но факт есть факт.
Tags:
Hubs:
0
Comments0

Articles