Увеличьте ptime под MinGW не потокобезопасный

У меня проблема с библиотекой boost. Я использую MinGW с gcc 4.5.2 для компиляции следующего кода:

unsigned long GetEpochSeconds()
{
    using namespace boost::posix_time;
    using namespace boost::gregorian;

    ptime now(second_clock::universal_time());
    ptime epoch(date(1970,1,1));
    time_duration diff = now-epoch;
    return diff.total_seconds();
}

Проблема в том, что этот код не является потокобезопасным. Когда я запускаю его из нескольких потоков, мое приложение вылетает. На данный момент я преобразовал в c-стандартные функции, такие как time, mktime и т. Д., И все работает нормально, но в будущем мне понадобится несколько функций ускорения времени.

Я также компилировал с -D_REENTRANT, но это не помогло.

Спасибо за любые предложения.

6
задан kappa 28 October 2011 в 07:42
поделиться