s3-smbd: Move housekeeping to the background process.
commita0f687794d4ea7bbbe759279ed01e377a662a9c1
authorAndreas Schneider <asn@samba.org>
Thu, 27 Sep 2012 15:20:25 +0000 (27 17:20 +0200)
committerKarolin Seeger <kseeger@samba.org>
Tue, 2 Oct 2012 07:00:36 +0000 (2 09:00 +0200)
tree429003bf8f47787c29a6a8a5b2ede500bb01d9f3
parent6ae1bf115ec1f927baee24cf4d611090d3b1bf91
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.
source3/printing/printing.c
source3/smbd/server.c
source3/smbd/server_reload.c