update the internal database from the system print queue for a queue
****************************************************************************/
-static void print_queue_update(int snum, bool force)
+static void print_queue_update(struct messaging_context *msg_ctx,
+ int snum, bool force)
{
fstring key;
fstring sharename;
/* finally send the message */
- messaging_send_buf(server_messaging_context(),
- pid_to_procid(background_lpq_updater_pid),
+ messaging_send_buf(msg_ctx, pid_to_procid(background_lpq_updater_pid),
MSG_PRINTER_UPDATE, (uint8 *)buffer, len);
SAFE_FREE( buffer );
/* force update the database and say the delete failed if the
job still exists */
- print_queue_update(snum, True);
+ print_queue_update(msg_ctx, snum, True);
pjob = print_job_find(sharename, jobid);
if (pjob && (pjob->status != LPQ_DELETING)) {
/* make sure the database is up to date */
if (print_cache_expired(lp_const_servicename(snum), True))
- print_queue_update(snum, False);
+ print_queue_update(server_messaging_context(), snum, False);
/* also fetch the queue status */
memset(&status, 0, sizeof(status));
/* make sure the database is up to date */
if (print_cache_expired(lp_const_servicename(snum), True))
- print_queue_update(snum, False);
+ print_queue_update(server_messaging_context(), snum, False);
return NT_STATUS_OK;
/* make sure the database is up to date */
if (print_cache_expired(lp_const_servicename(snum), True))
- print_queue_update(snum, False);
+ print_queue_update(server_messaging_context(), snum, False);
*pcount = 0;
*ppqueue = NULL;
/* make sure the database is up to date */
if (print_cache_expired(lp_const_servicename(snum), True))
- print_queue_update(snum, False);
+ print_queue_update(server_messaging_context(), snum, False);
/* return if we are done */
if ( !ppqueue || !status )
/* make sure the database is up to date */
if (print_cache_expired(lp_const_servicename(snum), True))
- print_queue_update(snum, True);
+ print_queue_update(msg_ctx, snum, True);
/* Send a printer notify message */
bool can_job_admin;
/* Force and update so the count is accurate (i.e. not a cached count) */
- print_queue_update(snum, True);
+ print_queue_update(msg_ctx, snum, True);
can_job_admin = print_access_check(server_info,
msg_ctx,
unbecome_root();
/* update the cache */
- print_queue_update( snum, True );
+ print_queue_update(msg_ctx, snum, True);
SAFE_FREE(queue);