Index: scheduler/job.c =================================================================== --- scheduler/job.c (revision 9306) +++ scheduler/job.c (working copy) @@ -348,7 +348,7 @@ */ if (job->state_value == IPP_JOB_PENDING && !NeedReload && !Sleeping && - !job->printer) + !DoingShutdown && !job->printer) { printer = cupsdFindDest(job->dest); pclass = NULL; Index: scheduler/cupsd.h =================================================================== --- scheduler/cupsd.h (revision 9306) +++ scheduler/cupsd.h (working copy) @@ -153,8 +153,10 @@ VAR time_t ReloadTime VALUE(0); /* Time of reload request... */ -VAR int NeedReload VALUE(RELOAD_ALL); +VAR int NeedReload VALUE(RELOAD_ALL), /* Need to load configuration? */ + DoingShutdown VALUE(0); + /* Shutting down the scheduler? */ VAR void *DefaultProfile VALUE(0); /* Default security profile */ Index: scheduler/main.c =================================================================== --- scheduler/main.c (revision 9306) +++ scheduler/main.c (working copy) @@ -706,6 +706,8 @@ * Shutdown the server... */ + DoingShutdown = 1; + cupsdStopServer(); /* @@ -736,6 +738,8 @@ * Startup the server... */ + DoingShutdown = 0; + cupsdStartServer(); /* @@ -1111,6 +1115,8 @@ * Close all network clients... */ + DoingShutdown = 1; + cupsdStopServer(); #ifdef HAVE_LAUNCHD