Начал работать с бустом, и вылезла непонятная мне хрень:
void TaskExecuter::operator()()
{
string strt;
{
stringstream ss;
ss << string("Started_") << m_id;
ss >> strt;
}
using namespace posix_time;
for (int i = 0; i < 5; ++i) {
string str = strt + " " + (to_simple_string(microsec_clock::local_time()) + "\n\r");;
this_thread::sleep_for(chrono::duration<int, milli>(250));
m_jobList->addJob(str);
}
}
да вроде бы всё нормально работает. периоды - по 250мс (проверила под Linux Debian 64, GCC 4.7.2)
только одна мелкая ошибка: нет возврата из функции bool ThreadedList::addJob(const string job). но она не влияет на работу программы.
Сегодня терли на конфе в джаббере. Пока сошлись на том, что я попробую собрать на пингвине, но руки не дошли. Возможно это глюк винды, либо неправильная сборка буста. Хотя там тоже у 2 из 3 людей получилось в два раза больше.
Эта функция, как и большинство кода - фикция, в боевом приложении 80% этой ереси не будет.
Для столкнувшихся с подобным, спасибо конфе, вот: https://svn.boost.org/trac/boost/ticket/8136
Перешел на std, проблем нет, остальным виндузятникам-мингвшникам ждать 1.54. Тему можно закрывать.
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)