[pytango] 479/483: Fixes #701, #704

Sandor Bodo-Merle sbodomerle-guest at moszumanska.debian.org
Thu Sep 28 19:15:14 UTC 2017


This is an automated email from the git hooks/post-receive script.

sbodomerle-guest pushed a commit to annotated tag bliss_8.10
in repository pytango.

commit 97b3b62b59f1a6aed8e1becd3207bcd7ce494cf7
Author: coutinho <coutinho at esrf.fr>
Date:   Mon May 11 11:02:04 2015 +0200

    Fixes #701, #704
---
 doc/revision.rst                 |  2 ++
 src/boost/cpp/server/command.cpp |  4 ++--
 src/boost/cpp/tgutils.h          | 19 +++++++++++++++++++
 3 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/doc/revision.rst b/doc/revision.rst
index dde6c6a..d4ea469 100644
--- a/doc/revision.rst
+++ b/doc/revision.rst
@@ -104,6 +104,8 @@ Version history
 |          |                                                                                                                                                                       |
 |          |     - `690: Description attribute property <https://sourceforge.net/p/tango-cs/bugs/690/>`_                                                                           |
 |          |     - `700: [pytango] useless files in the source distribution <https://sourceforge.net/p/tango-cs/bugs/700/>`_                                                       |
+|          |     - `701: Memory leak in command with list argument <https://sourceforge.net/p/tango-cs/bugs/701/>`_                                                                |
+|          |     - `704: Assertion failure when calling command with string array input type <https://sourceforge.net/p/tango-cs/bugs/704/>`_                                      |
 +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | 8.1.6    | Bug fixes:                                                                                                                                                            |
 |          |                                                                                                                                                                       |
diff --git a/src/boost/cpp/server/command.cpp b/src/boost/cpp/server/command.cpp
index 82577e3..ff6e55b 100644
--- a/src/boost/cpp/server/command.cpp
+++ b/src/boost/cpp/server/command.cpp
@@ -206,7 +206,7 @@ void extract_scalar<Tango::DEV_ENCODED>(const CORBA::Any &any, boost::python::ob
          template<long type>
          static void dev_var_x_array_deleter__(void * ptr_)
          {
-             TANGO_DO_ON_ATTRIBUTE_DATA_TYPE_ID(type,
+             TANGO_DO_ON_DEVICE_ARRAY_DATA_TYPE_ID(type,
                  delete static_cast<TANGO_const2type(tangoTypeConst)*>(ptr_);
              );
          }
@@ -215,7 +215,7 @@ void extract_scalar<Tango::DEV_ENCODED>(const CORBA::Any &any, boost::python::ob
          static void dev_var_x_array_deleter__(PyObject* obj)
          {
              void * ptr_ = PyCapsule_GetPointer(obj, NULL);
-             TANGO_DO_ON_ATTRIBUTE_DATA_TYPE_ID(type,
+             TANGO_DO_ON_DEVICE_ARRAY_DATA_TYPE_ID(type,
                  delete static_cast<TANGO_const2type(tangoTypeConst)*>(ptr_);
              );
          }
diff --git a/src/boost/cpp/tgutils.h b/src/boost/cpp/tgutils.h
index a06d2a3..30ffdbf 100644
--- a/src/boost/cpp/tgutils.h
+++ b/src/boost/cpp/tgutils.h
@@ -249,6 +249,25 @@ DEF_TANGO_SCALAR_ARRAY_NAMES( DEV_ULONG64, DEVVAR_ULONG64ARRAY );
             assert(false); \
     } } else (void)0
 
+#define TANGO_DO_ON_DEVICE_ARRAY_DATA_TYPE_ID(tid, DOIT_ARRAY) if (true) { \
+    switch(tid) { \
+        __TANGO_DEPEND_ON_TYPE_AUX_ID(DEVVAR_CHARARRAY, DOIT_ARRAY) \
+        __TANGO_DEPEND_ON_TYPE_AUX_ID(DEVVAR_SHORTARRAY, DOIT_ARRAY) \
+        __TANGO_DEPEND_ON_TYPE_AUX_ID(DEVVAR_LONGARRAY, DOIT_ARRAY) \
+        __TANGO_DEPEND_ON_TYPE_AUX_ID(DEVVAR_FLOATARRAY, DOIT_ARRAY) \
+        __TANGO_DEPEND_ON_TYPE_AUX_ID(DEVVAR_DOUBLEARRAY, DOIT_ARRAY) \
+        __TANGO_DEPEND_ON_TYPE_AUX_ID(DEVVAR_USHORTARRAY, DOIT_ARRAY) \
+        __TANGO_DEPEND_ON_TYPE_AUX_ID(DEVVAR_ULONGARRAY, DOIT_ARRAY) \
+        __TANGO_DEPEND_ON_TYPE_AUX_ID(DEVVAR_STRINGARRAY, DOIT_ARRAY) \
+        __TANGO_DEPEND_ON_TYPE_AUX_ID(DEVVAR_LONGSTRINGARRAY, DOIT_ARRAY) \
+        __TANGO_DEPEND_ON_TYPE_AUX_ID(DEVVAR_DOUBLESTRINGARRAY, DOIT_ARRAY) \
+/*        __TANGO_DEPEND_ON_TYPE_AUX_ID(DEVVAR_BOOLEANARRAY, DOIT_ARRAY) */\
+        __TANGO_DEPEND_ON_TYPE_AUX_ID(DEVVAR_LONG64ARRAY, DOIT_ARRAY) \
+        __TANGO_DEPEND_ON_TYPE_AUX_ID(DEVVAR_ULONG64ARRAY, DOIT_ARRAY) \
+        default: \
+            assert(false); \
+    } } else (void)0
+
 #define TANGO_DO_ON_DEVICE_DATA_TYPE_NAME(tid, DOIT_SIMPLE, DOIT_ARRAY) if (true) { \
     switch(tid) { \
         __TANGO_DEPEND_ON_TYPE_AUX_NAME(DEV_VOID, DOIT_SIMPLE) \

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/pytango.git



More information about the debian-science-commits mailing list