|
1 | | -static const char *RcsId = "$Id$\n$Name$"; |
| 1 | +static const char *RcsId = "$Id: proxy_asyn.cpp 30242 2016-10-27 11:48:23Z bourtemb $\n$Name$"; |
2 | 2 | //==================================================================================== |
3 | 3 | // |
4 | 4 | // cpp - C++ source code file for TANGO api Connection and DeviceProxy |
@@ -29,7 +29,7 @@ static const char *RcsId = "$Id$\n$Name$"; |
29 | 29 | // along with Tango. If not, see <http://www.gnu.org/licenses/>. |
30 | 30 | // |
31 | 31 | // |
32 | | -// $Revision$ |
| 32 | +// $Revision: 30242 $ |
33 | 33 | // |
34 | 34 | //=================================================================================== |
35 | 35 |
|
@@ -576,13 +576,16 @@ DeviceData Connection::command_inout_reply(long id,long call_timeout) |
576 | 576 |
|
577 | 577 | if (i == nb) |
578 | 578 | { |
579 | | - TangoSys_OMemStream desc; |
580 | | - desc << "Device " << dev_name(); |
581 | | - desc << ": Reply for asynchronous call (id = " << id; |
582 | | - desc << ") is not yet arrived" << ends; |
583 | | - ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived, |
584 | | - desc.str(), |
585 | | - "Connection::command_inout_reply"); |
| 579 | + if (req.request->poll_response() == false) |
| 580 | + { |
| 581 | + TangoSys_OMemStream desc; |
| 582 | + desc << "Device " << dev_name(); |
| 583 | + desc << ": Reply for asynchronous call (id = " << id; |
| 584 | + desc << ") is not yet arrived" << ends; |
| 585 | + ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived, |
| 586 | + desc.str(), |
| 587 | + "Connection::command_inout_reply"); |
| 588 | + } |
586 | 589 | } |
587 | 590 | } |
588 | 591 |
|
@@ -1407,13 +1410,16 @@ vector<DeviceAttribute> *DeviceProxy::read_attributes_reply(long id,long call_ti |
1407 | 1410 |
|
1408 | 1411 | if (i == nb) |
1409 | 1412 | { |
1410 | | - TangoSys_OMemStream desc; |
1411 | | - desc << "Device " << device_name; |
1412 | | - desc << ": Reply for asynchronous call (id = " << id; |
1413 | | - desc << ") is not yet arrived" << ends; |
1414 | | - ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived, |
1415 | | - desc.str(), |
1416 | | - "DeviceProxy::read_attributes_reply"); |
| 1413 | + if (req.request->poll_response() == false) |
| 1414 | + { |
| 1415 | + TangoSys_OMemStream desc; |
| 1416 | + desc << "Device " << device_name; |
| 1417 | + desc << ": Reply for asynchronous call (id = " << id; |
| 1418 | + desc << ") is not yet arrived" << ends; |
| 1419 | + ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived, |
| 1420 | + desc.str(), |
| 1421 | + "DeviceProxy::read_attributes_reply"); |
| 1422 | + } |
1417 | 1423 | } |
1418 | 1424 | } |
1419 | 1425 |
|
@@ -1650,13 +1656,16 @@ DeviceAttribute *DeviceProxy::read_attribute_reply(long id,long call_timeout) |
1650 | 1656 |
|
1651 | 1657 | if (i == nb) |
1652 | 1658 | { |
1653 | | - TangoSys_OMemStream desc; |
1654 | | - desc << "Device " << device_name; |
1655 | | - desc << ": Reply for asynchronous call (id = " << id; |
1656 | | - desc << ") is not yet arrived" << ends; |
1657 | | - ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived, |
1658 | | - desc.str(), |
1659 | | - "DeviceProxy::read_attribute_reply"); |
| 1659 | + if (req.request->poll_response() == false) |
| 1660 | + { |
| 1661 | + TangoSys_OMemStream desc; |
| 1662 | + desc << "Device " << device_name; |
| 1663 | + desc << ": Reply for asynchronous call (id = " << id; |
| 1664 | + desc << ") is not yet arrived" << ends; |
| 1665 | + ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived, |
| 1666 | + desc.str(), |
| 1667 | + "DeviceProxy::read_attribute_reply"); |
| 1668 | + } |
1660 | 1669 | } |
1661 | 1670 | } |
1662 | 1671 |
|
@@ -2265,13 +2274,16 @@ void DeviceProxy::write_attributes_reply(long id,long call_timeout) |
2265 | 2274 |
|
2266 | 2275 | if (i == nb) |
2267 | 2276 | { |
2268 | | - TangoSys_OMemStream desc; |
2269 | | - desc << "Device " << device_name; |
2270 | | - desc << ": Reply for asynchronous call (id = " << id; |
2271 | | - desc << ") is not yet arrived" << ends; |
2272 | | - ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived, |
2273 | | - desc.str(), |
2274 | | - "DeviceProxy::write_attributes_reply"); |
| 2277 | + if (req.request->poll_response() == false) |
| 2278 | + { |
| 2279 | + TangoSys_OMemStream desc; |
| 2280 | + desc << "Device " << device_name; |
| 2281 | + desc << ": Reply for asynchronous call (id = " << id; |
| 2282 | + desc << ") is not yet arrived" << ends; |
| 2283 | + ApiAsynNotThereExcept::throw_exception(API_AsynReplyNotArrived, |
| 2284 | + desc.str(), |
| 2285 | + "DeviceProxy::write_attributes_reply"); |
| 2286 | + } |
2275 | 2287 | } |
2276 | 2288 | } |
2277 | 2289 |
|
|
0 commit comments