Я пытаюсь запустить приложение, которое обрабатывает клиентов по сети с помощью верификатора приложений.
Приложение содержит карту для обслуживания клиентов и семафор с максимальным числом 1 для блокировки карты.
Без верификатора он работает без ошибок, но когда верификатор подключен, я получаю следующую ошибку времени выполнения:
Итератор map/set не увеличивается
для следующего кода:
Lock l(_mapLock); // This object uses a semaphore for synchronization
MapType::iterator it;
ClientInfo info;
it = _clientsMap.begin();
for (it = _clientsMap.begin(); it != _clientsMap.end(); it++) {
(*it).second->getInfo(&info);
if (strcmp(info.ip, clientIp.c_str()) == 0) {
return DUPLICATE_CLIENT;
}
}
Любая идея для возможной причины?
Заранее спасибо.
getInfo()
изменить_clientsMap
? - person Alan Stokes   schedule 23.09.2012it
дважды, а++it
будет лучше, чемit++
. - person Alan Stokes   schedule 23.09.2012