X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=scheduler%2Fsysman.c;h=6267b665bfdff947e1c4175e28bde86d32da2849;hb=f7deaa1a21758ec90bf23314af018481ea8aea7f;hp=61f342dcb92750a9ed0fda1a587f44d6d0e0b9bb;hpb=b86bc4cf571c35972a94a634ea884baff9799fa9;p=thirdparty%2Fcups.git diff --git a/scheduler/sysman.c b/scheduler/sysman.c index 61f342dcb..6267b665b 100644 --- a/scheduler/sysman.c +++ b/scheduler/sysman.c @@ -1,5 +1,5 @@ /* - * "$Id: sysman.c 6090 2006-11-14 16:35:27Z mike $" + * "$Id: sysman.c 6291 2007-02-19 21:54:27Z mike $" * * System management definitions for the Common UNIX Printing System (CUPS). * @@ -160,10 +160,8 @@ cupsdStartSystemMonitor(void) return; } - cupsdLogMessage(CUPSD_LOG_DEBUG2, - "cupsdStartSystemMonitor: Adding fd %d to InputSet...", - SysEventPipes[0]); - FD_SET(SysEventPipes[0], InputSet); + cupsdAddSelect(SysEventPipes[0], (cupsd_selfunc_t)cupsdUpdateSystemMonitor, + NULL, NULL); /* * Set non-blocking mode on the descriptor we will be receiving notification @@ -220,12 +218,7 @@ cupsdStopSystemMonitor(void) if (SysEventPipes[0] >= 0) { - cupsdLogMessage(CUPSD_LOG_DEBUG2, - "cupsdStopSystemMonitor: Removing fd %d from InputSet...", - SysEventPipes[0]); - - FD_CLR(SysEventPipes[0], InputSet); - + cupsdRemoveSelect(SysEventPipes[0]); cupsdClosePipe(SysEventPipes); } } @@ -314,7 +307,7 @@ cupsdUpdateSystemMonitor(void) { cupsdLogMessage(CUPSD_LOG_DEBUG, "Deregistering local printer \"%s\"", p->name); - cupsdSendBrowseDelete(p); + cupsdDeregisterPrinter(p, 0); } } @@ -370,18 +363,19 @@ cupsdUpdateSystemMonitor(void) for (p = (cupsd_printer_t *)cupsArrayFirst(Printers); p; p = (cupsd_printer_t *)cupsArrayNext(Printers)) - cupsdSendBrowseDelete(p); + cupsdDeregisterPrinter(p, 1); /* * Now re-register them... - * - * TODO: This might need updating for MDNS. */ for (p = (cupsd_printer_t *)cupsArrayFirst(Printers); p; p = (cupsd_printer_t *)cupsArrayNext(Printers)) + { p->browse_time = 0; + cupsdRegisterPrinter(p); + } } else cupsdLogMessage(CUPSD_LOG_DEBUG, @@ -757,5 +751,5 @@ sysEventTimerNotifier( /* - * End of "$Id: sysman.c 6090 2006-11-14 16:35:27Z mike $". + * End of "$Id: sysman.c 6291 2007-02-19 21:54:27Z mike $". */