unsigned long long runtime[2];
struct thread_data *td = data;
unsigned long elapsed;
+ struct timeval t;
int clear_state;
if (!td->o.use_thread)
runtime[0] = runtime[1] = 0;
clear_state = 0;
- while (td->o.loops--) {
+ while (td->o.time_based || td->o.loops--) {
fio_gettime(&td->start, NULL);
memcpy(&td->ts.stat_sample_time, &td->start, sizeof(td->start));
if (td->error || td->terminate)
break;
+ fio_gettime(&t, NULL);
+ if (runtime_exceeded(td, &t))
+ break;
+
if (td->o.verify == VERIFY_NONE)
continue;