OpenRTM / OpenRTM-aist-Java

OpenRTM-aist: RT-Middleware and OMG RTC implementation in Java implemented by AIST
Other
1 stars 5 forks source link

corba.nameserversオプションのバグ #86

Open n-ando opened 3 years ago

n-ando commented 3 years ago

Describe the bug corba.nameservers の与えるネームサーバのリストに、unreachable なものがあると、reachable なネームサーバに対しても名前が登録されない。

Environment

n-ando commented 3 years ago

名前が登録されない現象は一時的なものでしたが、ネームサーバへの接続がfailした場合、NSオブジェクトがNULLで返ってくるのに、そのままリストに追加しているが、NULLの場合はリストに追加するべきではないので、修正が必要。

https://github.com/OpenRTM/OpenRTM-aist-Java/blob/4cfcca467c0aa094bb5f68e510769491a7e67545/jp.go.aist.rtm.RTC/src/jp/go/aist/rtm/RTC/NamingManager.java#L55-L66

    public void registerNameServer(final String method, 
                                                final String name_server) {
        rtcout.println(Logbuf.TRACE, 
            "NamingManager.registerNameServer(" 
            + method + ", " + name_server + ")");
        NamingBase name = createNamingObj(method, name_server);

        if (!name) { // <- これが必要
        synchronized (m_names) {
            m_names.add(new NamingService(method, name_server, name));
        }
        }
    }