Fixed the decoder deadlock caused by waiting for the lockfile after a decode, which resulted in a deadlock on back-to-back decodes when a CPU was slow to decode TURBO within its 6 second cycle. Most of the time this was highly unlikely, but every now and then the timing was just right that the lock was created and removed before the decoder could observe that it was created. Sad panda.
This commit is contained in:
parent
8ec88432bd
commit
f1ffc1de9d
@ -63,11 +63,8 @@ subroutine jt9a()
|
||||
call timer('decoder ',0)
|
||||
call multimode_decoder(shared_data%ss,shared_data%id2,local_params,12000)
|
||||
call timer('decoder ',1)
|
||||
|
||||
100 inquire(file=trim(temp_dir)//'/.lock',exist=fileExists)
|
||||
if(fileExists) go to 10
|
||||
call sleep_msec(msdelay)
|
||||
go to 100
|
||||
call sleep_msec(100)
|
||||
go to 10
|
||||
|
||||
999 call timer('decoder ',101)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user