我有一个 CORBA 服务器,它从仆人中创建的通知线程对另一台服务器进行双向调用。这正常工作。我刚刚将服务器修改为与其客户端位于同一位置(两者都是主机应用程序中的 DLL),现在它死锁等待回复。有问题的调用是对托管服务器外部的(实际上是对命名服务的)。我正在使用带有默认策略的 TAO 1.6。
该问题似乎与领导者 - 跟随者的实施有关;它正在阻塞等待现有的领导者,而当它工作时没有领导者。
谢谢皮特。
作为记录,我通过使用每个连接的线程配置来解决它,遵循此处的建议http://www.theaceorb.com/faq/index.html#configure_tpc并将选项放入服务配置文件中,如此处所述http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/docs/Options.html#SVC(这并不完全清楚的是,您需要的是一个名为 svc.conf 的文件目录)。毫不奇怪,所有这些选项都是解决我遇到的问题所必需的。