共置时 TAO 出现死锁
我有一个 CORBA 服务器,它从仆人中创建的通知线程对另一个服务器进行双向调用。这通常工作得很好。我刚刚将服务器修改为与其客户端位于同一位置(两者都是主机应用程序中的 DLL),现在它在等待回复时陷入死锁。有问题的调用是对并置服务器外部的调用(实际上是对命名服务的调用)。我正在使用带有默认策略的 TAO 1.6。
该问题似乎与领导者-跟随者的实现有关;它正在阻塞等待现有的领导者,而当它工作时却没有领导者。
谢谢 皮特.
I have a CORBA server that makes a twoway call to another server from a notification thread that is created in the servant. This works fine normally. I have just modified the server to be co-located with its client (both are DLLs in a host app), and now it deadlocks waiting for the reply. The offending call is to outside the colocated servers (to the naming service in fact). I am using TAO 1.6 with default policies.
The problem appears to be related to the leader-follower implementation; it is blocking waiting for the existing leader, whereas when it works there is no leader.
Thanks
Pete.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据记录,我通过使用每个连接的线程配置来解决这个问题,遵循此处的建议 http://www.theaceorb.com/faq/index.html#configure_tpc 并将选项放入服务配置文件中,如下所述http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/docs/Options.html#SVC< /a> (这并不能完全说明您所需要的只是工作目录中一个名为 svc.conf 的文件)。毫不奇怪,所有这些选项都是解决我遇到的问题所必需的。
For the record, I got round it by using thread-per-connection configuration, following the advice here http://www.theaceorb.com/faq/index.html#configure_tpc and putting the optoins in a service configuration file as described here http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/docs/Options.html#SVC (what that doesn't make entirely clear is that all you need is a file called svc.conf in the working directory). Not surprisingly, all those options are necessary to fix the problem I had.