摘要:
在对游戏进行测试时,发现在某台服务器上,经常会出现一个错误,而其他服务器表现正常,于是分析日志文件,发现以下错误:{badarg,[{erlang,is_process_alive,[<6703.38.0>],[]}检查代码后,发现错误发生在如下的情景下:玩家连接tcpserver,tcpserver产生玩家状态机实例,然后在状态机中rpc call大厅服务,大厅服务保存了当时的玩家状态机pid,之后的操作均会用到这个pid。当进行开启了2个tcpserver(即多用户入口)时,由于使用了is_process_alive来确保pid是可用的,导致这个函数直接报错。erlang在节点 阅读全文