summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
Diffstat (limited to 'source3')
-rw-r--r--source3/include/printing.h3
-rw-r--r--source3/printing/printing.c7
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c12
3 files changed, 13 insertions, 9 deletions
diff --git a/source3/include/printing.h b/source3/include/printing.h
index 95b0ec6279..35590a30d2 100644
--- a/source3/include/printing.h
+++ b/source3/include/printing.h
@@ -134,7 +134,8 @@ bool print_job_resume(struct auth_serversupplied_info *server_info,
struct messaging_context *msg_ctx,
int snum, uint32 jobid, WERROR *errcode);
ssize_t print_job_write(int snum, uint32 jobid, const char *buf, SMB_OFF_T pos, size_t size);
-int print_queue_length(int snum, print_status_struct *pstatus);
+int print_queue_length(struct messaging_context *msg_ctx, int snum,
+ print_status_struct *pstatus);
WERROR print_job_start(struct auth_serversupplied_info *server_info,
struct messaging_context *msg_ctx,
int snum, const char *docname, const char *filename,
diff --git a/source3/printing/printing.c b/source3/printing/printing.c
index 3140e34e65..91ea09b28f 100644
--- a/source3/printing/printing.c
+++ b/source3/printing/printing.c
@@ -2366,7 +2366,8 @@ static int get_queue_status(const char* sharename, print_status_struct *status)
Determine the number of jobs in a queue.
****************************************************************************/
-int print_queue_length(int snum, print_status_struct *pstatus)
+int print_queue_length(struct messaging_context *msg_ctx, int snum,
+ print_status_struct *pstatus)
{
const char* sharename = lp_const_servicename( snum );
print_status_struct status;
@@ -2376,7 +2377,7 @@ int print_queue_length(int snum, print_status_struct *pstatus)
/* make sure the database is up to date */
if (print_cache_expired(lp_const_servicename(snum), True))
- print_queue_update(server_messaging_context(), snum, False);
+ print_queue_update(msg_ctx, snum, False);
/* also fetch the queue status */
memset(&status, 0, sizeof(status));
@@ -2545,7 +2546,7 @@ static WERROR print_job_checks(struct auth_serversupplied_info *server_info,
}
/* Insure the maximum queue size is not violated */
- *njobs = print_queue_length(snum, NULL);
+ *njobs = print_queue_length(msg_ctx, snum, NULL);
if (*njobs > lp_maxprintjobs(snum)) {
DEBUG(3, ("print_job_checks: Queue %s number of jobs (%d) "
"larger than max printjobs per queue (%d).\n",
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index a58786ce61..aaa88f584d 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -2741,7 +2741,7 @@ static void spoolss_notify_status(int snum,
{
print_status_struct status;
- print_queue_length(snum, &status);
+ print_queue_length(server_messaging_context(), snum, &status);
SETUP_SPOOLSS_NOTIFY_DATA_INTEGER(data, status.status);
}
@@ -2755,7 +2755,9 @@ static void spoolss_notify_cjobs(int snum,
struct spoolss_PrinterInfo2 *pinfo2,
TALLOC_CTX *mem_ctx)
{
- SETUP_SPOOLSS_NOTIFY_DATA_INTEGER(data, print_queue_length(snum, NULL));
+ SETUP_SPOOLSS_NOTIFY_DATA_INTEGER(
+ data, print_queue_length(server_messaging_context(), snum,
+ NULL));
}
/*******************************************************************
@@ -3478,7 +3480,7 @@ static WERROR construct_printer_info0(TALLOC_CTX *mem_ctx,
r->servername = talloc_strdup(mem_ctx, info2->servername);
W_ERROR_HAVE_NO_MEMORY(r->servername);
- count = print_queue_length(snum, &status);
+ count = print_queue_length(msg_ctx, snum, &status);
/* check if we already have a counter for this printer */
for (session_counter = counter_list; session_counter; session_counter = session_counter->next) {
@@ -3589,7 +3591,7 @@ static WERROR construct_printer_info2(TALLOC_CTX *mem_ctx,
int count;
print_status_struct status;
- count = print_queue_length(snum, &status);
+ count = print_queue_length(server_messaging_context(), snum, &status);
r->servername = talloc_strdup(mem_ctx, info2->servername);
W_ERROR_HAVE_NO_MEMORY(r->servername);
@@ -3727,7 +3729,7 @@ static WERROR construct_printer_info6(TALLOC_CTX *mem_ctx,
int count;
print_status_struct status;
- count = print_queue_length(snum, &status);
+ count = print_queue_length(server_messaging_context(), snum, &status);
r->status = nt_printq_status(status.status);