Print asynchronous callback exceptions without exiting

Callback exception handling

This affected command_inout_asynch, read_attribute_asynch and write_attributes_asynch.

An exception raised during a callback when using the asynchronous callback model would cause the application to terminate with something like:

libc++abi: terminating due to uncaught exception of type Tango::DevFailed

Now an error is printed to stdout instead of the terminating the application. This is the same approach that was already used when handling callbacks for Tango events.

The callback fix allowed test_async_exception_in_callback to be re-enabled.

Order of execution for asynch methods

One of the intermittently failing tests, test_async_attribute_with_callback, was raising an exception in the callback. The test was wrong, as it assumed the two successive asynch calls would be handled by the server in the same order they were invoked. However, CORBA doesn't guarantee this, so the test was modified slightly.

Docstrings were updated to mention that the execution order is not guaranteed.

Merge request reports

Loading