Merge remote-tracking branch 'git.irl/alex'
Conflicts:
ccnx/ccnx-wrapper.cpp
diff --git a/ccnx/ccnx-wrapper.cpp b/ccnx/ccnx-wrapper.cpp
index bdb40e7..d584be4 100644
--- a/ccnx/ccnx-wrapper.cpp
+++ b/ccnx/ccnx-wrapper.cpp
@@ -61,7 +61,7 @@
//}
m_handle = ccn_create ();
- UniqueRecLock lock(m_mutex);
+ //UniqueRecLock lock(m_mutex);
if (ccn_connect(m_handle, NULL) < 0)
{
BOOST_THROW_EXCEPTION (CcnxOperationException() << errmsg_info_str("connection to ccnd failed"));
@@ -343,12 +343,14 @@
int CcnxWrapper::sendInterest (const Name &interest, const Closure &closure, const Selectors &selectors)
{
_LOG_TRACE (">> sendInterest");
- UniqueRecLock lock(m_mutex);
- if (!m_running || !m_connected)
- {
- _LOG_ERROR ("<< sendInterest: not running or connected");
- return -1;
- }
+ {
+ UniqueRecLock lock(m_mutex);
+ if (!m_running || !m_connected)
+ {
+ _LOG_ERROR ("<< sendInterest: not running or connected");
+ return -1;
+ }
+ }
CcnxCharbufPtr namePtr = interest.toCcnxCharbuf();
ccn_charbuf *pname = namePtr->getBuf();
@@ -366,6 +368,7 @@
templ = selectorsPtr->getBuf();
}
+ UniqueRecLock lock(m_mutex);
if (ccn_express_interest (m_handle, pname, dataClosure, templ) < 0)
{
_LOG_ERROR ("<< sendInterest: ccn_express_interest FAILED!!!");
@@ -382,6 +385,7 @@
UniqueRecLock lock(m_mutex);
if (!m_running || !m_connected)
return -1;
+ }
CcnxCharbufPtr ptr = prefix.toCcnxCharbuf();
ccn_charbuf *pname = ptr->getBuf();
@@ -389,6 +393,8 @@
interestClosure->data = new InterestCallback (interestCallback); // should be removed when closure is removed
interestClosure->p = &incomingInterest;
+
+ UniqueRecLock lock(m_mutex);
int ret = ccn_set_interest_filter (m_handle, pname, interestClosure);
if (ret < 0)
{