After running with my patch for a while, I saw the same behavior - cupsd running at 100% CPU. In our environment, we're running only clients, so the inability to bind port 631 wasn't immediately a problem. So, it looks like my "quick fix" is a bust.
My next thought is that this might actually be a CUPS problem. I looked through the source code a bit and in scheduler/dirsvc.c, the poller is spawned with: if (cupsdStartProcess(polld, argv, envp, -1, -1, statusfds[1], -1, 0, &(pollp->pid)) < 0) And the actual cupsdStartProcess function in scheduler/process.c takes these arguments: cupsdStartProcess( const char *command, /* I - Full path to command */ char *argv[], /* I - Command-line arguments */ char *envp[], /* I - Environment */ int infd, /* I - Standard input file descriptor */ int outfd, /* I - Standard output file descriptor */ int errfd, /* I - Standard error file descriptor */ int backfd, /* I - Backchannel file descriptor */ int root, /* I - Run as root? */ int *pid) /* O - Process ID */ This would seem to indicate that the polld process shouldn't be spawned as root (argument 8 = 0 ), but it is. I'm not much of a C programmer, so I could be completely off-base here, but this seems to be at least close to the problem. I may post this to the CUPS list and see if anyone knows anything about it. -- multiple cups-polld running simultaneously https://launchpad.net/bugs/67680 -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs