Skip to content

Commit a0614bc

Browse files
authored
Merge pull request #5795 from atgeirr/fix-time_point-serialization
Do not serialize time_point via time_t.
2 parents fb6b0cc + 1c8724b commit a0614bc

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

opm/simulators/utils/MPIPacker.cpp

+5-6
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ unpack(std::string& data,
118118
std::size_t Packing<false,time_point>::
119119
packSize(const time_point&, Opm::Parallel::MPIComm comm)
120120
{
121-
return Packing<true,std::time_t>::packSize(std::time_t(), comm);
121+
return Packing<true, time_point::duration::rep>::packSize(time_point::duration::rep(), comm);
122122
}
123123

124124
void Packing<false,time_point>::
@@ -127,8 +127,7 @@ pack(const time_point& data,
127127
std::size_t& position,
128128
Parallel::MPIComm comm)
129129
{
130-
Packing<true,std::time_t>::pack(TimeService::to_time_t(data),
131-
buffer, position, comm);
130+
Packing<true, time_point::duration::rep>::pack(data.time_since_epoch().count(), buffer, position, comm);
132131
}
133132

134133
void Packing<false,time_point>::
@@ -137,9 +136,9 @@ unpack(time_point& data,
137136
std::size_t& position,
138137
Parallel::MPIComm comm)
139138
{
140-
std::time_t res;
141-
Packing<true,std::time_t>::unpack(res, buffer, position, comm);
142-
data = TimeService::from_time_t(res);
139+
time_point::duration::rep res;
140+
Packing<true, time_point::duration::rep>::unpack(res, buffer, position, comm);
141+
data = time_point(time_point::duration(res));
143142
}
144143

145144
template struct Packing<false,std::bitset<3>>;

0 commit comments

Comments
 (0)