s3-smbd: Move housekeeping to the background process.
commit87436d7f9ccdb93ee7a02fb5eea2a9387e53232f
authorAndreas Schneider <asn@samba.org>
Thu, 27 Sep 2012 15:20:25 +0000 (27 17:20 +0200)
committerKarolin Seeger <kseeger@samba.org>
Mon, 29 Oct 2012 09:05:41 +0000 (29 10:05 +0100)
tree6a3eddb31b3c51b114c20fdf279a82e5b4f6bd4d
parent58bb6b5a3cf4e86088dfe8a977f1e081100b1791
s3-smbd: Move housekeeping to the background process.

If you add 200 printers using lpadmin. Then you wait for the printcap
cache to expire. As soon as this expires we notify all deamons that they
should reload the printers. This mean we need to create the default
registry keys for each printer. If you do e.g. a 'smbclient -L' during
that time you will get a lot of timeouts.

This moves the housekeeping of the printcap cache to the background
queue process and lets the background process reload the printers first.
So the background process creates the default registry keys. When it is
done with the task it will tell all smbd childs to reload the printers
and the 200 printers appear.

Signed-off-by: Andreas Schneider <asn@samba.org>
Fix bug #9231 - NT_STATUS_IO_TIMEOUT during slow import of printers into
registry.
(cherry picked from commit a0f687794d4ea7bbbe759279ed01e377a662a9c1)
source3/printing/printing.c
source3/smbd/server.c
source3/smbd/server_reload.c