[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