关于热更新的东西
2014-08-12 19:24
176 查看
这几天读了这个blog,进一步深入的了解了关于erlang更新相关的东西
http://blog.csdn.net/mycwq/article/details/43372687
使用代码更新的时候,有一点要注意
c:l()默认使用的do_purge(),do_purge有一个很危险的操作,就是会kill掉正在使用old代码的进程。
old代码是什么呢?
当代码加载进去的时候,erlang会为这份“代码"分配一块内存保存,然后让module的old指针指向的内容释放,current指针只想这块内存,同时把old指向原来的curr指针指向的内容。也就是说,erlang并不区分xxx.beam上的任何信息,是单纯把代码加载和替换。
为了保证进程的安全执行,就需要先把使用old代码的进程全部kill,然后把代码"版本"数据更新。
所以使用的时候,一定要小心,免得连续的更新代码导致进程被kill。
http://blogread.cn/it/article/5626?f=wb
http://blog.csdn.net/mycwq/article/details/43372687
使用代码更新的时候,有一点要注意
c:l()默认使用的do_purge(),do_purge有一个很危险的操作,就是会kill掉正在使用old代码的进程。
old代码是什么呢?
当代码加载进去的时候,erlang会为这份“代码"分配一块内存保存,然后让module的old指针指向的内容释放,current指针只想这块内存,同时把old指向原来的curr指针指向的内容。也就是说,erlang并不区分xxx.beam上的任何信息,是单纯把代码加载和替换。
为了保证进程的安全执行,就需要先把使用old代码的进程全部kill,然后把代码"版本"数据更新。
所以使用的时候,一定要小心,免得连续的更新代码导致进程被kill。
http://blogread.cn/it/article/5626?f=wb
相关文章推荐
- 关于Xcode 7.2版本更新后需要注意的东西
- 无聊时,看的一些关于java东西(持续更新)
- IOS近期更新暂停,可能会更新点关于产品,项目相关的东西
- 关于在适配器中更新ui的方法(写这个东西只是为了自己理解,不要看,大家看不懂)
- C#中关于通过dataGrid更新数据库
- 关于泛型编程思想的言论摘录(不断更新)
- 关于ACCESS数据库的不可更新查询
- 我将msdn上一篇关于数据库打包的文章由vb改为cs拉,好久没发言了,希望这个东西对大家有用!
- 关于Java和.Net,持续更新中
- 昨晚上写的关于IBuySpy里面用户权限验证方面的东西
- 关于FreeTextBox 1.63/2.0.7/3.0RC/3.0的一些东西
- 应该写点关于python的东西才是
- 一些关于注册表有用的东西
- 关于更新blog
- 给你个比较全的关于时间的操作的东西[转]
- 无聊写了一个js的东西,关于按键的控制
- 关于JAVA的自问自答(长期更新)
- 关于flash嵌入的一点东西
- asp中关于数据库无法更新问题的解决方法
- 关于delphi的网络组件indy的一些东西