summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@samba.org>2019-01-29 01:50:15 +0100
committerKarolin Seeger <kseeger@samba.org>2019-02-21 12:31:46 +0100
commit32d6bf67801e66cf7472788a520c270f454d924d (patch)
treea6a120e11dc9d8978aa597a70b0a02a5e98fcabd
parent6e0514d273e3fe5e85a48ee4b1c3e3f066f1b6c3 (diff)
downloadsamba-32d6bf67801e66cf7472788a520c270f454d924d.tar.gz
printing: drop pcap_cache_loaded() guard around load_printers()
Add the pcap_cache_loaded() check to load_printers() and return early if it returns false. This simplifies callers in preparation for checking lp_load_printers() in the printcap cache update code-path. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13766 Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Noel Power <npower@samba.org> (cherry picked from commit 0ae7c3144a30910adb1e54cf46d54d42a1036839)
-rw-r--r--source3/printing/load.c4
-rw-r--r--source3/printing/queue_process.c4
-rw-r--r--source3/printing/spoolssd.c8
3 files changed, 6 insertions, 10 deletions
diff --git a/source3/printing/load.c b/source3/printing/load.c
index 238998d920d..131f0d3fccb 100644
--- a/source3/printing/load.c
+++ b/source3/printing/load.c
@@ -65,7 +65,9 @@ load automatic printer services from pre-populated pcap cache
void load_printers(struct tevent_context *ev,
struct messaging_context *msg_ctx)
{
- SMB_ASSERT(pcap_cache_loaded(NULL));
+ if (!pcap_cache_loaded(NULL)) {
+ return;
+ }
add_auto_printers();
diff --git a/source3/printing/queue_process.c b/source3/printing/queue_process.c
index 24708c19537..4fe6c576a19 100644
--- a/source3/printing/queue_process.c
+++ b/source3/printing/queue_process.c
@@ -482,9 +482,7 @@ void printing_subsystem_update(struct tevent_context *ev_ctx,
bool force)
{
if (background_lpq_updater_pid != -1) {
- if (pcap_cache_loaded(NULL)) {
- load_printers(ev_ctx, msg_ctx);
- }
+ load_printers(ev_ctx, msg_ctx);
if (force) {
/* Send a sighup to the background process.
* this will force it to reload printers */
diff --git a/source3/printing/spoolssd.c b/source3/printing/spoolssd.c
index 2b08d580f35..8135c7ee77a 100644
--- a/source3/printing/spoolssd.c
+++ b/source3/printing/spoolssd.c
@@ -292,9 +292,7 @@ static bool spoolss_child_init(struct tevent_context *ev_ctx,
* If so then we probably missed a message and should load_printers()
* ourselves. If pcap has not been loaded yet, then ignore, we will get
* a message as soon as the bq process completes the reload. */
- if (pcap_cache_loaded(NULL)) {
- load_printers(ev_ctx, msg_ctx);
- }
+ load_printers(ev_ctx, msg_ctx);
/* try to reinit rpc queues */
spoolss_cb.init = spoolss_init_cb;
@@ -703,9 +701,7 @@ pid_t start_spoolssd(struct tevent_context *ev_ctx,
* If pcap has not been loaded yet, then ignore, as we will reload on
* client enumeration anyway.
*/
- if (pcap_cache_loaded(NULL)) {
- load_printers(ev_ctx, msg_ctx);
- }
+ load_printers(ev_ctx, msg_ctx);
mem_ctx = talloc_new(NULL);
if (mem_ctx == NULL) {