Перейти до

madf

Сitizens
  • Всього повідомлень

    4 122
  • Приєднався

  • Останній візит

  • Дней в лидерах

    22

Все, що було написано madf

  1. Как и обещал, начинаю заниматься старгейзером. Сейчас первоочередная задача - побороть баг с падениями, описанный тут: http://local.com.ua/forum/index.php?showtopic=12719 Версия предназначена, в основном, для тестирования замены функции inet_ntoa (inet_ntostr) на thread-safe inet_ntop (inet_ntostring). Как минимум, один баг вызваный не-реэнтерабельностью inet_ntoa был отмечен ( http://local.com.ua/forum/index.php?showtopic=13828 ). Архив и короткое описание тут: http://local.com.ua/stg/Stargazer_2_ot_21.01.2009/ В первую очередь интересуют отзывы Dimension, Keen и Silitra. Все отмече
  2. madf

    Сбор багов и feature requests

    То есть, относится только к мускулу?
  3. madf

    Сбор багов и feature requests

    Это не глюк, это скорее фича. Но если напрягает можно сделать так: заменить в user.cpp строки (1498-1497): user->lastCashAddTime = *const_cast<time_t *>(&stgTime); user->lastCashAdd = newCash - oldCash; на if (newCash > oldCash) { user->lastCashAddTime = *const_cast<time_t *>(&stgTime); user->lastCashAdd = newCash - oldCash; }
  4. madf

    Ubuntu 8.10 + New Stg

    Я думаю, ты что-то поломал в исходниках плагина file_store
  5. madf

    конфигуратор

    Скриншотики 1.90.9
  6. Чревато потерями части детальной статистики
  7. madf

    Ubuntu 8.10 + New Stg

    В корень пишется только детальная статистика или вся база?
  8. madf

    Start Failed

    Ну что непонятно-то? Найди процесс который занимает порт авторизатора и разберись, почему он его занимает. Возможно, ты пытаешся запустить второй экземпляр старгейзера.
  9. А попробуйте-ка вот это: http://local.com.ua/forum/index.php?showto...mp;#entry106287
  10. Хм, это проявляется для единичных пользователей?
  11. madf

    Сертификация Старгейзера

    Кажется, кто-то уже лицензировал
  12. madf

    Inet_ntoa Error

    Дело в том, что: $ find ./ -name \*cpp -exec grep inet_ntostr {} \; | wc -l 67
  13. madf

    Inet_ntoa Error

    Есть результаты? Можешь кинуть мне патчи (относительно stg-2.405)?
  14. А что говорит date на серваке?
  15. 1. На сколько неправильное время? Пару примеров, пожалуйста.
  16. madf

    Проблема с авторизатором

    Проблема, которую решает патч, описана тут: http://local.com.ua/forum/index.php?showtopic=10568
  17. madf

    Проблема с авторизатором

    К стати, только сейчас заметил. Твой скрипт OnDisconnect не учитывает возможность того, что правило для пользователя может быть в нескольких экземплярах в таблице (например, 2 OnConnect подряд обязательно приведут к такой ситуации). Так что скрипт, возможно, отрабатывает. Но как минимум 1 правило остается, по этому у юзера есть инет.
  18. madf

    Проблема с авторизатором

    1. Переконнекчивается ли авторизатор (сам и по принуждению)? 1.1 Если нет - скажи свой мейл, я вышлю 2 патча. 1.2 Если да - через какое время он переконнекчивается сам?
  19. madf

    Проблема с авторизатором

    1. Проверь скрипт OnDisconnect 2. Либо последствия падений, либо у тебя в конфиге указано запускать 5 Executers
  20. madf

    Inet_ntoa Error

    Зачем ваять то что уже сделано? thread-safe - это когда функция не имеет состояния. В данном случае состоянием является буфер, в который записывается строковое представление. Для того чтобы сделать преобразование thread-safe достаточно принимать на вход внешний буфер, что и делает inet_ntop. Но дело в том, что для этого внешний буфер нужно распределить - а это усложняет использование функции. То есть, вместо, например такого: printfd(__FILE__, "IP: %s\n", inet_ntoa(ip)); Прийдется писать нечто вроде: char buff[32]; inet_ntop(AF_INET, ip, buff, 32); printfd(__FILE__, "IP: %s\n", buff); К
  21. madf

    Inet_ntoa Error

    Извиняться незачто. Если бы не этот топик - вряд-ли я когда-нибуть обратил бы внимание на эту проблему. Переписать inet_ntostr на использование inet_ntop (к стати, inet_ntoa сейчас обозначена как deprecated) можно. Но она сама по себе не thread-safe и проблема не исчезнет. Сейчас из дому почему-то не могу получить доступа к CVS, но решение проблемы есть. Оставил запись в багтреккере. В понедельник постараюсь заняться ней...
  22. madf

    Inet_ntoa Error

    К стати, проверка currIP > 0 тоже не нужна. currIP - это PROPERTY, проинстанцированный для типа uint32_t, который не может принимать отрицательных значений.
  23. madf

    Inet_ntoa Error

    find/grep/wc показал около 11 вхождений inet_ntoa (в основном - отладочный вывод) и аж 67 inet_ntostr - обёртки над inet_ntoa. К стати, это так же может быть причиной падений, обсуждаемых тут:http://local.com.ua/forum/index.php?showtopic=12719
  24. madf

    Inet_ntoa Error

    Откуда вобще возникает эта ошибка. Дело в том, что функция inet_ntoa ни разу не thread-safe. Она использует статически распределенный буфер для хранения результатов своей работы. Одновременный ее вызов приводит к неопределенному поведению.
×
×
  • Створити нове...