我正在使用pjsip2.10搞视频电话。我发现一个问题,在向外拨打电话后,马上点击挂断,会报soft deadlock。 看了下代码挂断的时候会调用acquired_call 去循环请求锁,直到2s超时再返回错,也就是2s都没有等到锁。但是很奇怪的时,如果不是马上挂断,等几百毫秒去挂断就可以正常挂断,相同的线程,相同的操作。
之前我怀疑是因为我下发挂断线程是主线程的原因,于是我采用异步调用std::async 去挂断还是会死锁,这里的异步调用我是根本就没等他返回,而是让std::async 自己去执行,这样排除是线程互相获取锁的因素。
下面是我的日志:
pjsip 呼出后,马上挂断,出现死锁deadlock ,为什么?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
悬赏问题
- ¥15 变数的长度不一样”。是什么原因呢?如何修改?
- ¥15 matlab作业不会写
- ¥15 vue2(标签-chrome|关键词-浏览器兼容)
- ¥15 python网络流自动生成系统 医学领域
- ¥15 sql查询仓库里都有什么
- ¥15 代码的修改,添加和运行完善
- ¥15 krpano-场景分组和自定义地图分组
- ¥15 lammps Gpu加速出错
- ¥15 关于PLUS模型中kapaa值的问题
- ¥15 关于博途V17进行仿真时无法建立连接问题