[tango] 20/21: add the p910_2 patch
Frédéric-Emmanuel Picca
picca at moszumanska.debian.org
Fri Jan 15 15:59:41 UTC 2016
This is an automated email from the git hooks/post-receive script.
picca pushed a commit to branch master
in repository tango.
commit 0a8c52cbc768901e4fda0c6e66861ecfdcc4cf97
Author: Picca Frédéric-Emmanuel <picca at debian.org>
Date: Fri Jan 15 16:15:12 2016 +0100
add the p910_2 patch
---
debian/patches/0004-p910_2.patch | 219 +++++++++++++++++++++++++++++++++++++++
debian/patches/series | 1 +
2 files changed, 220 insertions(+)
diff --git a/debian/patches/0004-p910_2.patch b/debian/patches/0004-p910_2.patch
new file mode 100644
index 0000000..9b4f4b6
--- /dev/null
+++ b/debian/patches/0004-p910_2.patch
@@ -0,0 +1,219 @@
+From: =?utf-8?q?Picca_Fr=C3=A9d=C3=A9ric-Emmanuel?= <picca at debian.org>
+Date: Fri, 15 Jan 2016 16:14:47 +0100
+Subject: p910_2
+
+---
+ lib/cpp/client/devapi_base.cpp | 1 +
+ lib/cpp/server/dev_event.cpp | 23 ++++++++++++++++
+ lib/cpp/server/device.cpp | 2 +-
+ lib/cpp/server/device.h | 9 +++++-
+ lib/cpp/server/device_3.cpp | 3 +-
+ lib/cpp/server/pollthread.cpp | 5 ++++
+ lib/cpp/server/tango_const.h | 2 +-
+ lib/cpp/server/zmqeventsupplier.cpp | 55 +++++++++++++++++++------------------
+ 8 files changed, 70 insertions(+), 30 deletions(-)
+
+diff --git a/lib/cpp/client/devapi_base.cpp b/lib/cpp/client/devapi_base.cpp
+index 0f8f769..9f5055f 100644
+--- a/lib/cpp/client/devapi_base.cpp
++++ b/lib/cpp/client/devapi_base.cpp
+@@ -1861,6 +1861,7 @@ DeviceProxy &DeviceProxy::operator=(const DeviceProxy &rval)
+ lock_ctr = rval.lock_ctr;
+ lock_valid = rval.lock_valid;
+
++ delete db_dev;
+ if (dbase_used == true)
+ {
+ if (from_env_var == true)
+diff --git a/lib/cpp/server/dev_event.cpp b/lib/cpp/server/dev_event.cpp
+index a983c2b..bcc60b9 100644
+--- a/lib/cpp/server/dev_event.cpp
++++ b/lib/cpp/server/dev_event.cpp
+@@ -1975,6 +1975,29 @@ void DeviceImpl::push_archive_event (string attr_name, Tango::DevString *p_str_d
+ }
+
+
++//+---------------------------------------------------------------------------------------------------------------
++//
++// method :
++// DeviceImpl::set_data_ready_event
++//
++// description :
++// Set a flag to indicate that the server pushes data ready events.
++//
++// args :
++// in :
++// - attr_name : The attribute name
++// - implemented : True when the server fires change events manually.
++//
++//----------------------------------------------------------------------------------------------------------------
++
++void DeviceImpl::set_data_ready_event (string attr_name, bool implemented)
++{
++ // search the attribute from the attribute list
++ Tango::MultiAttribute *attr_list = get_device_attr();
++ Tango::Attribute &attr = attr_list->get_attr_by_name (attr_name.c_str());
++
++ attr.set_data_ready_event (implemented);
++}
+
+ //+-----------------------------------------------------------------------------------------------------------------
+ //
+diff --git a/lib/cpp/server/device.cpp b/lib/cpp/server/device.cpp
+index a044b32..0aa0a55 100644
+--- a/lib/cpp/server/device.cpp
++++ b/lib/cpp/server/device.cpp
+@@ -1219,7 +1219,7 @@ Tango::DevState DeviceImpl::dev_state()
+ }
+ }
+ att.wanted_date(true);
+- throw;
++ // throw;
+ }
+ }
+
+diff --git a/lib/cpp/server/device.h b/lib/cpp/server/device.h
+index ac0340a..53c0659 100644
+--- a/lib/cpp/server/device.h
++++ b/lib/cpp/server/device.h
+@@ -3092,7 +3092,14 @@ public:
+ /**@name Push data ready event methods
+ * This method allows the user to push a data ready event */
+ //@{
+-
++/**
++ * Set an implemented flag for the attribute to indicate that the server fires data ready event
++ * for this attribute.
++ *
++ * @param attr_name The name of the attribute
++ * @param implemented True when the server fires data ready event.
++ */
++ void set_data_ready_event (string attr_name, bool implemented);
+ /**
+ * Push a data ready event for the attribute with name specified as the first
+ * parameter.
+diff --git a/lib/cpp/server/device_3.cpp b/lib/cpp/server/device_3.cpp
+index f661952..1294717 100644
+--- a/lib/cpp/server/device_3.cpp
++++ b/lib/cpp/server/device_3.cpp
+@@ -703,7 +703,8 @@ void Device_3Impl::read_attributes_no_except(const Tango::DevVarStringArray& nam
+
+ if (state_wanted == true)
+ {
+- long id = reading_state_necessary(wanted_attr);
++// long id = reading_state_necessary(wanted_attr);
++ long id = -1;
+ if (id == -1)
+ {
+ try
+diff --git a/lib/cpp/server/pollthread.cpp b/lib/cpp/server/pollthread.cpp
+index 91275fb..1478469 100644
+--- a/lib/cpp/server/pollthread.cpp
++++ b/lib/cpp/server/pollthread.cpp
+@@ -101,6 +101,11 @@ PollThread::PollThread(PollThCmd &cmd,TangoMonitor &m,bool heartbeat): shared_cm
+ ctr_frequency = 0.0;
+ #endif
+
++ dummy_att5.value.union_no_data(true);
++ dummy_att5.quality = ATTR_INVALID;
++ dummy_att4.value.union_no_data(true);
++ dummy_att4.quality = ATTR_INVALID;
++ dummy_att3.quality = ATTR_INVALID;
+ }
+
+ //+------------------------------------------------------------------------------------------------------------------
+diff --git a/lib/cpp/server/tango_const.h b/lib/cpp/server/tango_const.h
+index 59c0548..d1c78ae 100644
+--- a/lib/cpp/server/tango_const.h
++++ b/lib/cpp/server/tango_const.h
+@@ -42,7 +42,7 @@ namespace Tango
+
+ #define TANGO_VERSION_MAJOR 9
+ #define TANGO_VERSION_MINOR 1
+-#define TANGO_VERSION_PATCH 0
++#define TANGO_VERSION_PATCH 1
+
+ #define TANGO_BASE_CLASS Tango::Device_5Impl
+
+diff --git a/lib/cpp/server/zmqeventsupplier.cpp b/lib/cpp/server/zmqeventsupplier.cpp
+index b0cf243..23d77f7 100644
+--- a/lib/cpp/server/zmqeventsupplier.cpp
++++ b/lib/cpp/server/zmqeventsupplier.cpp
+@@ -1524,6 +1524,12 @@ void ZmqEventSupplier::push_event(DeviceImpl *device_impl,string event_type,
+ ev_cptr_ite->second++;
+
+ //
++// For reference counting on zmq messages which do not have a local scope
++//
++
++ endian_mess.copy(&endian_mess_2);
++
++//
+ // release mutex if we haven't use ZMQ no copy mode
+ //
+
+@@ -1540,12 +1546,6 @@ void ZmqEventSupplier::push_event(DeviceImpl *device_impl,string event_type,
+
+ push_mutex.release();
+ }
+-
+-//
+-// For reference counting on zmq messages which do not have a local scope
+-//
+-
+- endian_mess.copy(&endian_mess_2);
+ }
+ catch(...)
+ {
+@@ -1698,28 +1698,31 @@ void ZmqEventSupplier::push_event_loop(DeviceImpl *device_impl,EventType event_t
+ struct SuppliedEventData sent_value;
+ ::memset(&sent_value,0,sizeof(sent_value));
+
+- switch (*ite)
+- {
+- case 5:
+- {
+- convert_att_event_to_5(attr_value,sent_value,need_free,att);
+- ev_name = EVENT_COMPAT_IDL5 + ev_name;
+- name_changed = true;
+- }
+- break;
++ if (except == NULL)
++ {
++ switch (*ite)
++ {
++ case 5:
++ {
++ convert_att_event_to_5(attr_value,sent_value,need_free,att);
++ ev_name = EVENT_COMPAT_IDL5 + ev_name;
++ name_changed = true;
++ }
++ break;
+
+- case 4:
+- {
+- convert_att_event_to_4(attr_value,sent_value,need_free,att);
+- }
+- break;
++ case 4:
++ {
++ convert_att_event_to_4(attr_value,sent_value,need_free,att);
++ }
++ break;
+
+- default:
+- {
+- convert_att_event_to_3(attr_value,sent_value,need_free,att);
+- }
+- break;
+- }
++ default:
++ {
++ convert_att_event_to_3(attr_value,sent_value,need_free,att);
++ }
++ break;
++ }
++ }
+
+ push_event(device_impl,
+ ev_name,
diff --git a/debian/patches/series b/debian/patches/series
index 11dbfd0..225878d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
0001-debian-fix_database_scripts.patch
0002-debian-my.cnf.in.patch
0003-p910_1.patch
+0004-p910_2.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/tango.git
More information about the debian-science-commits
mailing list