void loadPersistentData(PersistentData &data, const string& filename) { DEBUG_MSG0(DEBUG_LEGACYMONITOR_PERSIST, "---------------------------------------------called") ifstream ifs; ifstream ifs2; mutex::scoped_lock data_lock(m_data_mutex); DEBUG_MSG1(DEBUG_LEGACYMONITOR_PERSIST, "sizeof(size_t) = %d", sizeof(size_t)) DEBUG_MSG1(DEBUG_LEGACYMONITOR_PERSIST, "sizeof(boost::archive::version_type) = %d", sizeof(boost::archive::version_type )) DEBUG_MSG1(DEBUG_LEGACYMONITOR_PERSIST, "sizeof(int) = %d", sizeof(int)) DEBUG_MSG1(DEBUG_LEGACYMONITOR_PERSIST, "sizeof(long) = %d", sizeof(long)) DEBUG_MSG1(DEBUG_LEGACYMONITOR_PERSIST, "sizeof(float) = %d", sizeof(float)) DEBUG_MSG1(DEBUG_LEGACYMONITOR_PERSIST, "sizeof(double) = %d", sizeof(double)) try { os_abstract::sync(); try { DEBUG_MSG1(DEBUG_LEGACYMONITOR_PERSIST, "filename = '%s' --------------------------- 1", filename.c_str()) // Try opening the file ifs.open (filename.c_str(), ios_base::binary | ios_base::in); DEBUG_MSG0(DEBUG_LEGACYMONITOR_PERSIST, "--------------------------------------------- 2") if (ifs.fail()){ LOG_S21(filename,"Failed opening file.") } if (!ifs.good()){ LOG_S21(filename,"File not good.") } if (ifs.is_open()) { DEBUG_MSG0(DEBUG_LEGACYMONITOR_PERSIST, "--------------------------------------------- 3") // SERIALIZE_BINARY boost::archive::binary_iarchive ia(ifs); DEBUG_MSG0(DEBUG_LEGACYMONITOR_PERSIST, "--------------------------------------------- 4") ia >> data; DEBUG_MSG0(DEBUG_LEGACYMONITOR_PERSIST, "--------------------------------------------- 5") } if (ifs.is_open()) { // Close file and sync ifs.close(); DEBUG_MSG0(DEBUG_LEGACYMONITOR_PERSIST, "--------------------------------------------- 6") os_abstract::sync(); DEBUG_MSG0(DEBUG_LEGACYMONITOR_PERSIST, "--------------------------------------------- 7") setPersistentProps(); DEBUG_MSG0(DEBUG_LEGACYMONITOR_PERSIST, "--------------------------------------------- 8") } } catch(std::exception &e){ // Close file and sync ifs.close(); DEBUG_MSG0(DEBUG_LEGACYMONITOR_PERSIST, "--------------------------------------------- 9") LOG_S21(filename,e.what()) } } catch(std::exception &e){ LOG_S21(filename,e.what()) DEBUG_MSG0(DEBUG_LEGACYMONITOR_PERSIST, "--------------------------------------------- 10") } }