diff --git a/cppapi/client/proxy_asyn.cpp b/cppapi/client/proxy_asyn.cpp
index ff0de9543..7c129f2af 100644
--- a/cppapi/client/proxy_asyn.cpp
+++ b/cppapi/client/proxy_asyn.cpp
@@ -1,4 +1,4 @@
-static const char *RcsId = "$Id$\n$Name$";
+static const char *RcsId = "$Id: proxy_asyn.cpp 30242 2016-10-27 11:48:23Z bourtemb $\n$Name$";
//====================================================================================
//
// cpp - C++ source code file for TANGO api Connection and DeviceProxy
@@ -29,7 +29,7 @@ static const char *RcsId = "$Id$\n$Name$";
// along with Tango. If not, see .
//
//
-// $Revision$
+// $Revision: 30242 $
//
//===================================================================================
@@ -576,13 +576,16 @@ DeviceData Connection::command_inout_reply(long id,long call_timeout)
if (i == nb)
{
- TangoSys_OMemStream desc;
- desc << "Device " << dev_name();
- desc << ": Reply for asynchronous call (id = " << id;
- desc << ") is not yet arrived" << ends;
- ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived,
- desc.str(),
- "Connection::command_inout_reply");
+ if (req.request->poll_response() == false)
+ {
+ TangoSys_OMemStream desc;
+ desc << "Device " << dev_name();
+ desc << ": Reply for asynchronous call (id = " << id;
+ desc << ") is not yet arrived" << ends;
+ ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived,
+ desc.str(),
+ "Connection::command_inout_reply");
+ }
}
}
@@ -1407,13 +1410,16 @@ vector *DeviceProxy::read_attributes_reply(long id,long call_ti
if (i == nb)
{
- TangoSys_OMemStream desc;
- desc << "Device " << device_name;
- desc << ": Reply for asynchronous call (id = " << id;
- desc << ") is not yet arrived" << ends;
- ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived,
- desc.str(),
- "DeviceProxy::read_attributes_reply");
+ if (req.request->poll_response() == false)
+ {
+ TangoSys_OMemStream desc;
+ desc << "Device " << device_name;
+ desc << ": Reply for asynchronous call (id = " << id;
+ desc << ") is not yet arrived" << ends;
+ ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived,
+ desc.str(),
+ "DeviceProxy::read_attributes_reply");
+ }
}
}
@@ -1650,13 +1656,16 @@ DeviceAttribute *DeviceProxy::read_attribute_reply(long id,long call_timeout)
if (i == nb)
{
- TangoSys_OMemStream desc;
- desc << "Device " << device_name;
- desc << ": Reply for asynchronous call (id = " << id;
- desc << ") is not yet arrived" << ends;
- ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived,
- desc.str(),
- "DeviceProxy::read_attribute_reply");
+ if (req.request->poll_response() == false)
+ {
+ TangoSys_OMemStream desc;
+ desc << "Device " << device_name;
+ desc << ": Reply for asynchronous call (id = " << id;
+ desc << ") is not yet arrived" << ends;
+ ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived,
+ desc.str(),
+ "DeviceProxy::read_attribute_reply");
+ }
}
}
@@ -2265,13 +2274,16 @@ void DeviceProxy::write_attributes_reply(long id,long call_timeout)
if (i == nb)
{
- TangoSys_OMemStream desc;
- desc << "Device " << device_name;
- desc << ": Reply for asynchronous call (id = " << id;
- desc << ") is not yet arrived" << ends;
- ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived,
- desc.str(),
- "DeviceProxy::write_attributes_reply");
+ if (req.request->poll_response() == false)
+ {
+ TangoSys_OMemStream desc;
+ desc << "Device " << device_name;
+ desc << ": Reply for asynchronous call (id = " << id;
+ desc << ") is not yet arrived" << ends;
+ ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived,
+ desc.str(),
+ "DeviceProxy::write_attributes_reply");
+ }
}
}