summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/printing/printing.c20
-rw-r--r--source3/smbd/server.c1
2 files changed, 18 insertions, 3 deletions
diff --git a/source3/printing/printing.c b/source3/printing/printing.c
index 6ecaf3c9bf..f8b3c9cef0 100644
--- a/source3/printing/printing.c
+++ b/source3/printing/printing.c
@@ -82,6 +82,18 @@ BOOL print_backend_init(void)
}
/****************************************************************************
+ Shut down printing backend. Called once at shutdown to close the tdb.
+****************************************************************************/
+
+void printing_end(void)
+{
+ if (tdb) {
+ tdb_close(tdb);
+ tdb = NULL;
+ }
+}
+
+/****************************************************************************
Useful function to generate a tdb key.
****************************************************************************/
@@ -253,8 +265,9 @@ static BOOL pjob_store(int jobid, struct printjob *pjob)
}
/****************************************************************************
-remove a job structure from the database
+ Remove a job structure from the database.
****************************************************************************/
+
static void pjob_delete(int jobid)
{
int snum;
@@ -486,7 +499,7 @@ static void set_updating_pid(fstring printer_name, BOOL delete)
}
/****************************************************************************
-update the internal database from the system print queue for a queue
+ Update the internal database from the system print queue for a queue.
****************************************************************************/
static void print_queue_update(int snum)
@@ -1494,7 +1507,8 @@ BOOL print_queue_resume(struct current_user *user, int snum, WERROR *errcode)
}
/* make sure the database is up to date */
- if (print_cache_expired(snum)) print_queue_update(snum);
+ if (print_cache_expired(snum))
+ print_queue_update(snum);
/* Send a printer notify message */
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 107282d36c..7d2c62d839 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -531,6 +531,7 @@ void exit_server(char *reason)
}
locking_end();
+ printing_end();
DEBUG(3,("Server exit (%s)\n", (reason ? reason : "")));
exit(0);