#include <email-types.h>
#include <email-api.h>
#include <Logger.h>
-
+#include <unistd.h>
using namespace std;
index = type;
}
- LoggerD("m_opRequests size : " << cnt );
+ LoggerD("m_opRequests cnt : " << cnt );
LoggerD("index " << index);
m_opRequests.insert(std::make_pair(index, MessagingServiceOpData(0,type)));
int MessagingService::getHandleFromOpId(int opIdx)
{
- LoggerD("operation index size : " << opIdx);
-
+ LoggerD("opIdx : " << opIdx);
+ LoggerD("m_opRequests.size() : " << m_opRequests.size() );
int handle = -1;
OpRequestsIterator it = m_opRequests.find(opIdx);
if ( m_opRequests.end() != it)
{
- handle = it->second.handle;
+ int retryCount = 0;
+ if(it->second.checkSetHandle == false)
+ {
+ while (retryCount < 2) {
+ LoggerW("Wait for handle");
+ usleep(200 * 1000);
+ if (it->second.checkSetHandle) {
+ break;
+ }
+ retryCount++;
+ }
+ handle = it->second.handle;
+ }
}
- LoggerD("index " << handle);
+ LoggerD("handle " << handle);
return handle;
}
{
LoggerD(" find Message ");
it->second.handle = handle;
+ it->second.checkSetHandle = true;
}
}