diff options
author | David Disseldorp <ddiss@samba.org> | 2019-01-29 01:50:15 +0100 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2019-02-21 12:31:46 +0100 |
commit | 32d6bf67801e66cf7472788a520c270f454d924d (patch) | |
tree | a6a120e11dc9d8978aa597a70b0a02a5e98fcabd | |
parent | 6e0514d273e3fe5e85a48ee4b1c3e3f066f1b6c3 (diff) | |
download | samba-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.c | 4 | ||||
-rw-r--r-- | source3/printing/queue_process.c | 4 | ||||
-rw-r--r-- | source3/printing/spoolssd.c | 8 |
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) { |