Tengo un problema con la biblioteca de impulso. Estoy utilizando MinGW con gcc 4.5.2 para compilar el código siguiente:Aumento de ptime en MinGW no es seguro para roscas
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();
}
El problema es que este código no es seguro para subprocesos. Cuando lo ejecuto desde múltiples hilos, mi aplicación falla. Por ahora, me he convertido en funciones c-standard como time, mktime, etc. y todo funciona bien, pero en el futuro necesitaré algunas funciones de tiempo de impulso.
Estaba compilando también con -D_REENTRANT, pero esto no ayudó.
Gracias por cualquier sugerencia.
¿compiló todo con '-mthreads' también? – rubenvb
Lo intenté pero sin resultados. – kappa
Puedes envolverlo en un mutex si el rendimiento no es demasiado grande. – sje397