Menu

#804 init_device & DeviceProxy to an external device /w same name

closed
None
C++ API
5
2017-01-06
2016-07-07
No

Use case: a local device named my/device/1 maintains a device proxy to an external device with the same name - e.g. //myexternaltangohost:10000/my/device/1.

Problem: at startup (e.g from Astor), the proxy points to the external device (that's the expected behavior). However, after the execution of "Init" on the local device, the proxy points to the local device itself. This looks like Tango ignores the db specification in the device URL.

NB: the problem doesn't occur in case we do a "restart device" instead of an "init".

Discussion

  • Bourtembourg Reynald

    Hi Nicolas,

    Thanks again for the bug report.
    The problem seems to come from the DeviceProxy::local_import() method which checks whether the device we want to import is currently embedded in the same process. If it is already in the current process, it recreates the IOR and returns it, saving one DB call.

    This method compares the name of the device we want to import with the device names embedded in the current process, but the check is done on device names without the TANGO_HOST part.
    Additional checks will need to be added in this method to check the TANGO_HOST as well.

    Cheers,
    Reynald

     
  • BUTEAU

    BUTEAU - 2016-07-12

    Hi Reynald
    Once you have fixed he bug in Tango 9 could you send us the new implementation so that we can inject the fix in our old Tango 8 environment (remember the discussion on Long Term Support version at the Tango meeting)

     
  • Emmanuel Taurel

    Emmanuel Taurel - 2016-08-30

    Bug fixed.
    Commited in SVN

     
  • Bourtembourg Reynald

    • Status: open --> closed
     
  • Bourtembourg Reynald

    • Category: Archiving --> C++ API
     

Log in to post a comment.