]> git.ipfire.org Git - thirdparty/cups.git/commit
scheduler: Fix cleaning jobs by loading times when needed 1315/head
authorZdenek Dohnal <zdohnal@redhat.com>
Tue, 8 Jul 2025 13:51:59 +0000 (15:51 +0200)
committerZdenek Dohnal <zdohnal@redhat.com>
Tue, 8 Jul 2025 13:51:59 +0000 (15:51 +0200)
commite129afd55ae9873451f6d5299bbaff19b42d2098
treeccccd503261ddf6bee026c2b7bd726e75a0f1e18
parentbcb4814ead58a66f96b7d33d8b90cd56ac3864af
scheduler: Fix cleaning jobs by loading times when needed

Currently if we load jobs from job.cache, we don't set correct times
for `history_time` and `file_time`, resulting them in being 0 and the
jobs avoids the cleanup by cupsd when needed, leading into eating up
memory space.

It happens because none of the functions which set those job members are
not called - `cupsdSetJobState()` is used when changing job states,
`cupsdUpdateJobs()` during partial reload and `cupsdLoadJob()` is
guarded by condition in `load_job_cache()`.

The fix is to change conditional in `load_job_cache()` which will cause
loading of the job if cupsd is set to clean up job history, or if cupsd
should clean up job files and the job still has some.
scheduler/job.c