On Thu, 2009-08-27 at 11:33 +0200, Till Kamppeter wrote: > The new CUPS 1.4.x does device discovery only for a given time frame > requested by the client (printer setup tool, "lpinfo" command). CUPS's > default for CUPS-1.3.x-ish requests without timeout specification > seems to be 10 seconds. CUPS starts all backends at once in the > beginning (in parallel) and kills every backend which remains running > at the end of the timeout. It accepts output from the backends > whenever it occurs not only when the backend finishes, so a backend > can search for printers infinitely long if it outputs every found > device immediately. Then all printers found during CUPS' timeout are > taken into account. > > The bluetooth backend of 4.48 asks the Bluetooth daemon for printers > and collects results for 10 seconds and after that it outputs > them. This takes a total of 10.5 sec and so CUPS kills the backend > right before it answers (at least with the 10-second default timeout), > resulting in Bluetooth printers never being discovered by CUPS. > > This change fixes it by making each new printer added to the list > being output immediately. Note that the list structure cannot be > removed from cups/main.c as otherwise we would get duplicate > listings. Also important is the addition of unbuffered output on > stdout. Looks fine to me, although I'd have the stdout unbuffered change in a separate patch instead. Cheers -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html