summaryrefslogtreecommitdiffstats
path: root/source3/printing/queue_process.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/printing/queue_process.c')
-rw-r--r--source3/printing/queue_process.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/printing/queue_process.c b/source3/printing/queue_process.c
index bc6c33f9a8..aa0d0fb6a8 100644
--- a/source3/printing/queue_process.c
+++ b/source3/printing/queue_process.c
@@ -32,6 +32,7 @@
#include "smbd/smbd.h"
#include "rpc_server/rpc_config.h"
#include "printing/load.h"
+#include "rpc_server/spoolss/srv_spoolss_nt.h"
extern pid_t start_spoolssd(struct tevent_context *ev_ctx,
struct messaging_context *msg_ctx);
@@ -314,6 +315,11 @@ pid_t start_background_queue(struct tevent_context *ev,
bq_smb_conf_updated);
messaging_register(msg_ctx, NULL, MSG_PRINTER_UPDATE,
print_queue_receive);
+ /* Remove previous forwarder message set in parent. */
+ messaging_deregister(msg_ctx, MSG_PRINTER_DRVUPGRADE, NULL);
+
+ messaging_register(msg_ctx, NULL, MSG_PRINTER_DRVUPGRADE,
+ do_drv_upgrade_printer);
fde = tevent_add_fd(ev, ev, pause_pipe[1], TEVENT_FD_READ,
printing_pause_fd_handler,