summaryrefslogtreecommitdiff
path: root/source3/printing/printing.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/printing/printing.c')
-rw-r--r--source3/printing/printing.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/printing/printing.c b/source3/printing/printing.c
index 83b5ac8b43..ce98792096 100644
--- a/source3/printing/printing.c
+++ b/source3/printing/printing.c
@@ -2313,11 +2313,15 @@ static bool allocate_print_jobid(struct tdb_print_db *pdb, int snum, const char
if (tdb_error(pdb->tdb) != TDB_ERR_NOEXIST) {
DEBUG(0, ("allocate_print_jobid: failed to fetch INFO/nextjob for print queue %s\n",
sharename));
+ tdb_unlock_bystring(pdb->tdb, "INFO/nextjob");
return False;
}
+ DEBUG(10,("allocate_print_jobid: no existing jobid in %s\n", sharename));
jobid = 0;
}
+ DEBUG(10,("allocate_print_jobid: read jobid %u from %s\n", jobid, sharename));
+
jobid = NEXT_JOBID(jobid);
if (tdb_store_int32(pdb->tdb, "INFO/nextjob", jobid)==-1) {
@@ -2329,8 +2333,10 @@ static bool allocate_print_jobid(struct tdb_print_db *pdb, int snum, const char
/* We've finished with the INFO/nextjob lock. */
tdb_unlock_bystring(pdb->tdb, "INFO/nextjob");
- if (!print_job_exists(sharename, jobid))
+ if (!print_job_exists(sharename, jobid)) {
break;
+ }
+ DEBUG(10,("allocate_print_jobid: found jobid %u in %s\n", jobid, sharename));
}
if (i > 2) {