QPID-5260: Get test for building Perl bindings correct

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1536738 13f79535-47bb-0310-9956-ffa450edef68
QPID-5139: Add timeout argument to python messaging.Session.commit.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1536750 13f79535-47bb-0310-9956-ffa450edef68
QPID-5139: Add unit test for deadlock caused by blocking HA commit.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1536751 13f79535-47bb-0310-9956-ffa450edef68
QPID-5139: Make TxBuffer inherit from AsyncCompletion.

Switched from shared_ptr to intrusive_ptr for TxBuffer and DtxBuffer.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1536752 13f79535-47bb-0310-9956-ffa450edef68
QPID-5139: HA transactions block a thread, can deadlock the broker

PrimaryTxObserver::prepare used to block pending responses from each backup. With
concurrent transactions this can deadlock the broker: once all worker threads
are blocked in prepare, responses from backups cannot be received.

This commit generalizes the async completion mechanism for messages to allow
async completion of arbitrary commands. It leaves the special-case code for
messages undisturbed but adds a second path (starting from
SessionState::handleCommand) for async completion of other commands.
In particular it implements tx.commit to allow async completion.

TxBuffer is now an AsyncCompletion and commitLocal() is split into
- startCommit() called by SemanticState::commit()
- endCommit() called when the commit command completes

TxAccept no longer holds pre-computed ranges, compute fresh each time.
- Avoid range iterators going out of date during a delayed commit.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1536754 13f79535-47bb-0310-9956-ffa450edef68
 QPID-5139: Add missing EXTERN decl in TxBuffer.h

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1536842 13f79535-47bb-0310-9956-ffa450edef68
QPID-5263: Allow boost versions less than 1.47 not to have Boost.chrono library

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1536853 13f79535-47bb-0310-9956-ffa450edef68
QPID-5274: Create separate cmake file for windows-specific functions.


git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1536857 13f79535-47bb-0310-9956-ffa450edef68
QPID-5273: Fixed installing the qmfgen Python packages.

The install directive was being told to intall the qmfgen direction into
a directory also named qmfgen, which is why the name was doubled.
Telling Cmake to install qmfgen into the Python site-package directory
was the correct approach.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1536876 13f79535-47bb-0310-9956-ffa450edef68
QPID-5237: Self-contained C++ source distribution

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1536900 13f79535-47bb-0310-9956-ffa450edef68
QPID-4327: Include file moved to correct place

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1536903 13f79535-47bb-0310-9956-ffa450edef68