Программистам: очень редкий, но зловредный глюк
Я кажется нашел причину очень редкого глюка моего мада, построенного на коде Былин, проявлявшегося в виде пропадания вещей у игроков. Глюк предположительно происходит из-за неудачного стечения обстоятельств при перезагрузке мада (выходе из мада), когда не все файловые буферы успешно сбрасываются на диск. При выпадениях мада в корку вероятность этого глюка немного больше, а при нормальных шатдаунах меньше. Иногда он проявляется в виде пропадания игрока или дружины (эти файлы тоже постоянно перезаписываются).
На всякий случай тупо вставил команду fflush(NULL) в модуль comm.cpp в процесс выхода из мада (после вызова free_db())
Посмотрим, чо будет
Еще раз повторюсь, глюк очень редко проявляется, чем чаще перезагрузки, тем больше вероятность глюка, а я перезагружаю свой мад несколько раз в день (экспериментирую, код правлю), но и то, глюк проявился 3-4 раза за два года. Былины перегружаются, как я понимаю, раз в неделю, у них вероятность этого глюка еще ниже (хотя больше юзеров и кланов, больше файловых буферов). Возможно это связано также с особенностями моей ОС (Free BSD 5.3 release p2) или даже с нагрузкой хостинговой машины
|