BBS进入杀人游戏立即断线了
然后trace新增记录:
[12/02 22:29:55 21818 3.system] liangqing shm shmget attach error! key = 256a.
此时ipcs
su-2.05b# ipcs -m -u bbs
Shared Memory:
T ID KEY MODE OWNER GROUP
m 65536 0 --rw-rw---- bbs wheel
m 327681 3696 --rw-rw---- bbs wheel
m 65538 0 --rw-rw---- bbs wheel
m 65539 0 --rw-rw---- bbs wheel
m 327684 3693 --rw-rw---- bbs wheel
m 327685 3697 --rw-rw---- bbs wheel
m 327686 4500 --rw-rw---- bbs wheel
m 327688 3700 --rw-rw---- bbs wheel
m 327689 3699 --rw-rw---- bbs wheel
m 262154 3698 --rw-rw---- bbs wheel
m 262155 9013 --rw-rw---- bbs wheel
m 262156 3451 --rw-rw---- bbs wheel
我看了源码,发现killer.c中
shm2=attach_shm("KILLER_SHMKEY", 9578, sizeof(struct inroom_struct)*MAX_ROOM, &i);执行出错。
修改stuff.c的attach_shm1函数,将此时的errno写进日志,发现为12 ENOMEM(Cannot allocate memory),但事实上系统内存还很大(在线1人),不知道为什么会出现这个问题,机器的系统是FreeBSD。
请教一下大家,谢谢啊。
--
修改:liangqing FROM 121.229.7.*
FROM 121.229.7.*