diff --git a/ipaacalib/cpp/src/ipaaca-buffers.cc b/ipaacalib/cpp/src/ipaaca-buffers.cc index 63f52f234fbd264fa8b5e49f3f60ecfe45a2d07b..b1993773c45a47c535b6d01952aa169b8e9f58cc 100644 --- a/ipaacalib/cpp/src/ipaaca-buffers.cc +++ b/ipaacalib/cpp/src/ipaaca-buffers.cc @@ -183,6 +183,12 @@ IPAACA_EXPORT boost::shared_ptr<int> CallbackIUPayloadUpdate::call(const std::st } else if (iu->retracted()) { iu->_revision_lock.unlock(); return boost::shared_ptr<int>(new int(0)); + } else if (iu->committed()) { + iu->_revision_lock.unlock(); + return boost::shared_ptr<int>(new int(0)); + } else if (iu->retracted()) { + iu->_revision_lock.unlock(); + return boost::shared_ptr<int>(new int(0)); } if (update->is_delta) { // FIXME TODO this is an unsolved problem atm: deletions in a delta update are @@ -220,6 +226,12 @@ IPAACA_EXPORT boost::shared_ptr<int> CallbackIULinkUpdate::call(const std::strin } else if (iu->retracted()) { iu->_revision_lock.unlock(); return boost::shared_ptr<int>(new int(0)); + } else if (iu->committed()) { + iu->_revision_lock.unlock(); + return boost::shared_ptr<int>(new int(0)); + } else if (iu->retracted()) { + iu->_revision_lock.unlock(); + return boost::shared_ptr<int>(new int(0)); } if (update->is_delta) { iu->modify_links(update->new_links, update->links_to_remove, update->writer_name);