这个模块的作用是利用zookeeper来建立分布式锁,由于系统需要,我们都移植到了内核态下,单独的这个模块在加载的时候,突然就出现了宕机(次数也挺多,也有好的时候),然后过一段时间就重启了。查看日志,发现什么都没有,就直接restart了,请问这个该怎么得知我的程序哪里有错误呢?还是跟机器有关(有的机器挂掉的很频繁,有的很少)。而且挂掉的位置不固定,有时候在循环等待授予权限的时候挂掉,有时候直接在刚开始加载模块初始化zookeeper的时候挂掉,后者情况多一点。
模块初始化时的部分代码:
全选复制放进笔记fl_lock_t *fl_lock = NULL;
int i;
printk("thread_init 1\n");
zoo_set_debug_level(ZOO_LOG_LEVEL_DEBUG);
printk("thread_init 2\n");
zoo_deterministic_conn_order(1); // enable deterministic order
printk("thread_init 3\n");
zh = zookeeper_init("192.168.2.77:2181", 0, 30000, &myid, 0, 0);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
嗯,请同学帮忙搞了一下,发现在另外一个机器上居然有错误提示。。原因是zookeeper本身有两个线程,但是在运行中无故就消失了一个。