Trying to get pacifiers of simultaneously running emulations into sync
This commit is contained in:
parent
6cffccc0ef
commit
30ed274ea9
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2008.09.20.093140"
|
#define Xorriso_timestamP "2008.09.24.155424"
|
||||||
|
@ -1144,7 +1144,7 @@ int Xorriso_pacifier_loop(struct XorrisO *xorriso, struct burn_drive *drive,
|
|||||||
enum burn_drive_status drive_status;
|
enum burn_drive_status drive_status;
|
||||||
double start_time, current_time, last_time, base_time= 0.0, base_count= 0.0;
|
double start_time, current_time, last_time, base_time= 0.0, base_count= 0.0;
|
||||||
double next_base_time= 0.0, next_base_count= 0.0, first_base_time= 0.0;
|
double next_base_time= 0.0, next_base_count= 0.0, first_base_time= 0.0;
|
||||||
double first_base_count= 0.0, norm= 0.0;
|
double first_base_count= 0.0, norm= 0.0, now_time, fract_offset= 0.0;
|
||||||
double measured_speed, speed_factor= 1385000, quot;
|
double measured_speed, speed_factor= 1385000, quot;
|
||||||
time_t time_prediction;
|
time_t time_prediction;
|
||||||
|
|
||||||
@ -1153,6 +1153,7 @@ int Xorriso_pacifier_loop(struct XorrisO *xorriso, struct burn_drive *drive,
|
|||||||
usleep(100002);
|
usleep(100002);
|
||||||
|
|
||||||
emul= flag&15;
|
emul= flag&15;
|
||||||
|
fract_offset= 0.2 * (double) emul - ((int) (0.2 * (double) emul));
|
||||||
if(emul==0)
|
if(emul==0)
|
||||||
emul= xorriso->pacifier_style;
|
emul= xorriso->pacifier_style;
|
||||||
if(flag&16)
|
if(flag&16)
|
||||||
@ -1272,12 +1273,14 @@ int Xorriso_pacifier_loop(struct XorrisO *xorriso, struct burn_drive *drive,
|
|||||||
current_time-start_time);
|
current_time-start_time);
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "UPDATE", 0);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "UPDATE", 0);
|
||||||
|
|
||||||
for(i= 0; i<10; i++) {
|
for(i= 0; i<12; i++) { /* 2 usleeps more than supposed to be needed */
|
||||||
Xorriso_process_msg_queues(xorriso, 0);
|
Xorriso_process_msg_queues(xorriso, 0);
|
||||||
if(aborting<=0)
|
if(aborting<=0)
|
||||||
aborting= Xorriso_check_burn_abort(xorriso, 0);
|
aborting= Xorriso_check_burn_abort(xorriso, 0);
|
||||||
usleep(100000);
|
usleep(100000);
|
||||||
if(((time_t) Sfile_microtime(0)) - ((time_t) current_time) >= 1)
|
now_time= Sfile_microtime(0);
|
||||||
|
if(((time_t) now_time) - ((time_t) current_time) >= 1 &&
|
||||||
|
now_time - ((time_t) now_time) >= fract_offset)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user