日期:2014-05-16 浏览次数:20557 次
?
?
?
修改privacy 利用推送 方式 更新privacy list ?userlist
?updated_list(_, #userlist{name = OldName} = Old, #userlist{name = NewName} = New) ->
?? ? ?if
?? ? ? ? OldName == NewName ->
?? ? ? ? ? ? ? New;
?? ? ? ?true ->
?? ? ? ? ? ? ? ?Old
?? ? ?end.
?
ejabberd中mod_privacy_odbc.erl实现没有完全遵循xmpp协议
其中,设置默认和删除privacy list时没有判断当前privacy list 是否有资源在使用。仅仅在删除时候判断了privacy list是否是默认的。
如果是active的话,此状态存在用户资源当前进程中。其他资源进程不能直接读取,所以无法判断目前到底有多少个进程正在使用privacy list.
目前想到的解决方法:
1、建立一个内存表,每个进程与它的状态都写在里面。用的话查询一下就可以。
2、进程之间相互发送消息。”双方“提供相应