文字MUD游戏论坛-天下泥潭群英会-水泊梁山  

返回   文字MUD游戏论坛-天下泥潭群英会-水泊梁山 > 西游之旅 > 『 巫师天下 』

『 巫师天下 』 学习如何挂MUD,如何制作MUD。讨论如何管理好一个MUD,做好一个巫师。

发表新主题 回复
 
LinkBack 主题工具 主题评分 显示模式
旧 2011-12-03   #1
高级会员
级别:6 | 在线时长:109小时 | 升级还需:31小时级别:6 | 在线时长:109小时 | 升级还需:31小时级别:6 | 在线时长:109小时 | 升级还需:31小时
 
Odysseus 的头像
 
注册: 08年04月11日
来自: 盘丝洞
帖子: 311
声望力: 19
声望: 50 Odysseus 初领妙道
现金:29两梁山币
资产:1245两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
destruct带来的BUG

发信人: puss (幽幽一猫无心细语), 信区: wiz
标 题: MUD一个普遍存在的BUG(转)
发信站: 西北网络中心兵马俑 BBS 站 (Sun May 30 03:44:12 1999)


MUD一个普遍存在的BUG
作者:文月  

升级MUD OS之后,在老的MUD OS中遇到的CRASH
系统的BUG总算体现出来了。  

  我发现有个BUG大部分的MUD都存在,只是有的MUD没体现出来。BUG出现
在start_
busy上,start_busy的参数中有两个是函数指针,最典

型的就是dazuo & tuna命令了。一般而言,由于start_busy在不停地

调用dazuo/tuna命令中的函数,这样dazuo/tuna并不会被自动destruct,

但是有一种特殊情况就是当player正在打坐的时候而断线,一直到player重新连线进
入的这段时间内,如果没有其他的PLAYER用到这个命令而

导致该命令被自动destruct,这个时候,player重新连入,使用halt

命令会调用到interrupt_me,interrupt_me则会调用已经被destrcu的

命令内的函数在v21里,会导致crash,在v22里则体现为无心跳。此类bug在一些特殊
的skill/skill's perform里也有可能碰到。

  最简单的解决办法就是将这些可能引起bug的程序中的inherit F_CLEAN_UP去掉。


  此外,如果要彻底解决这个问题(例如wizard使用update会导致同样的问题),
最好是在这些使用了用函数指针作为参数调用start_busy

的程序内加上remove函数,例如dazuo,可以在其remove函数里寻找所有的正在打坐

player并调用其interrupt_me函数。
Odysseus 当前离线  
回复时引用此帖

发表新主题 回复

添加到书签

主题工具
显示模式 对此主题评分
对此主题评分:

发帖规则
不可以发表主师
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子

论坛启用 vB 代码
论坛启用 表情图标
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用



所有时间均为格林尼治时间 +9, 现在的时间是 18:20.


Powered by SPLS
版权所有 2001-2023 水泊梁山
皖ICP备05012024号

站长 fengyue

Content Relevant URLs by vBSEO 3.6.1