Based on currently unknown trigger scheduler sometimes sets JobHistoryUpdate into past, which causes select() to timeout after one second.
It happens when job->file_time of a job without files to remove gets assigned to JobHistoryUpdate. If we check for job->num_files and assign the job->file_time only if there are any, we will fix extensive logging (and unneeded cupsd execution) in various places, e.g. cleaning jobs, expiring subscriptions, deleting temporary queues...
Based on currently unknown trigger scheduler sometimes sets JobHistoryUpdate into past, which causes
select()
to timeout after one second.It happens when
job->file_time
of a job without files to remove gets assigned toJobHistoryUpdate
. If we check forjob->num_files
and assign thejob->file_time
only if there are any, we will fix extensive logging (and unneeded cupsd execution) in various places, e.g. cleaning jobs, expiring subscriptions, deleting temporary queues...Fixes #604