mirror of
https://github.com/samba-team/samba.git
synced 2025-01-10 01:18:15 +03:00
cd655715b8
Receiving a MSG_PRINTER_DRVUPGRADE causes smbd to iterate over all printers looking for ones that uses the driver. This is a very expensive operation requiring a read of all registry printer parameters. On a system with a large number of printers, this causes the clients to timeout (smbd can take longer than 60 seconds to respond). This patch fixes the problem by forwarding the MSG_PRINTER_DRVUPGRADE to the background lpq queue updater process and allowing it to take care of the updating of the changeid in the registry, allowing the smbd connected to the client to return to processing requests immediately. https://bugzilla.samba.org/show_bug.cgi?id=9942 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Tue Feb 18 17:48:30 CET 2014 on sn-devel-104 |
||
---|---|---|
.. | ||
tests | ||
load.c | ||
load.h | ||
lpq_parse.c | ||
notify.c | ||
notify.h | ||
nt_printing_ads.c | ||
nt_printing_migrate_internal.c | ||
nt_printing_migrate_internal.h | ||
nt_printing_migrate.c | ||
nt_printing_migrate.h | ||
nt_printing_os2.c | ||
nt_printing_os2.h | ||
nt_printing_tdb.c | ||
nt_printing_tdb.h | ||
nt_printing.c | ||
pcap.c | ||
pcap.h | ||
print_aix.c | ||
print_cups.c | ||
print_generic.c | ||
print_iprint.c | ||
print_standard.c | ||
print_svid.c | ||
printer_list.c | ||
printer_list.h | ||
printing_db.c | ||
printing.c | ||
printspoolss.c | ||
queue_process.c | ||
queue_process.h | ||
spoolssd.c |