Comment 29 for bug 183652

Revision history for this message
Hugues Fournier (hugues-fournier) wrote : Re: CUPS fails to start on boot

As long as the avahi-daemon is running (ready or not really ready, depending on system load and timing), CUPS is set in avahi mode, so it never start without the avahi support if avahi is launched before.

Here is the precise way of working (based on the dnssdRegisterPrinter function in scheduler/dirsvc.c)
- On start (or when a new printer is added) CUPS use the client avahi library to register the printer.
- If the avahi daemon is running, ready or not, the client library returns a kDNSServiceErr_NoError, that leads to the registration of cupsdUpdateDNSSDBrowse as a callback function triggered by I/O on the mdns socket.
- In the other case, there is no registration of cupsdUpdateDNSSDBrowse, and there won't as it only happens on start or when a new printer is added. So Cups works in this case without avahi.