DirtyFiles = CUPSD_DIRTY_NONE;
DirtyCleanTime = 0;
+
+ cupsdSetBusyState();
}
void
cupsdMarkDirty(int what) /* I - What file(s) are dirty? */
{
+ if (what == CUPSD_DIRTY_PRINTCAP && !Printcap)
+ return;
+
DirtyFiles |= what;
if (!DirtyCleanTime)
{
int newbusy; /* New busy state */
static int busy = 0; /* Current busy state */
-
-
- newbusy = DirtyCleanTime ||
- cupsArrayCount(PrintingJobs) ||
- cupsArrayCount(ActiveClients);
+ static const char * const busy_text[] =
+ { /* Text for busy states */
+ "Not busy",
+ "Dirty files",
+ "Printing jobs",
+ "Printing jobs and dirty files",
+ "Active clients",
+ "Active clients and dirty files",
+ "Active clients and printing jobs",
+ "Active clients, printing jobs, and dirty files"
+ };
+
+
+ newbusy = (DirtyCleanTime ? 1 : 0) |
+ (cupsArrayCount(PrintingJobs) ? 2 : 0) |
+ (cupsArrayCount(ActiveClients) ? 4 : 0);
if (newbusy != busy)
{
busy = newbusy;
- if (busy)
- cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "cupsdSetBusyState: Server no longer busy...");
- else
- cupsdLogMessage(CUPSD_LOG_DEBUG2,
- "cupsdSetBusyState: Server is now busy...");
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdSetBusyState: %s", busy_text[busy]);
}
}