+
+optional<float>
+Job::seconds_since_last_progress_update () const
+{
+ boost::mutex::scoped_lock lm (_progress_mutex);
+ if (!_last_progress_update) {
+ return {};
+ }
+
+ struct timeval now;
+ gettimeofday (&now, 0);
+
+ return seconds(now) - seconds(*_last_progress_update);
+}
+
+