Commit 087868c4 authored by Gerald Carter's avatar Gerald Carter Committed by Gerald (Jerry) Carter
Browse files

r1230: (merges from HP PSA) fixing a couple of caching bugs in the printing...

r1230: (merges from HP PSA) fixing a couple of caching bugs in the printing code. (a) make sure to clear jobs_changed list when deleting a job and, (b) invalidate the printer handle cache when we get a notification that something has changed on that printer
(This used to be commit e3d4fea7808abc77bfdb1a540ab18afe04af5030)
parent adf65489
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -600,6 +600,7 @@ void pjob_delete(int snum, uint32 jobid)
	tdb_delete(pdb->tdb, print_key(jobid));
	release_print_db(pdb);
	rap_jobid_delete(snum, jobid);
	remove_from_jobs_changed( snum, jobid );
}

/****************************************************************************
+8 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
 *  Copyright (C) Luke Kenneth Casson Leighton 1996-2000,
 *  Copyright (C) Jean François Micouleau      1998-2000,
 *  Copyright (C) Jeremy Allison               2001-2002,
 *  Copyright (C) Gerald Carter		       2000-2003,
 *  Copyright (C) Gerald Carter		       2000-2004,
 *  Copyright (C) Tim Potter                   2001-2002.
 *
 *  This program is free software; you can redistribute it and/or modify
@@ -312,6 +312,7 @@ void invalidate_printer_hnd_cache( char *printername )
	for ( p=printers_list; p; p=p->next )
	{
		if ( p->printer_type==PRINTER_HANDLE_IS_PRINTER 
			&& p->printer_info
			&& StrCaseCmp(p->dev.handlename, printername)==0)
		{
			DEBUG(10,("invalidating printer_info cache for handl:\n"));
@@ -1189,6 +1190,12 @@ static void receive_notify2_message_list(int msg_type, pid_t src, void *msg, siz
		notify2_unpack_msg( &notify, &msg_tv, msg_ptr, msg_len );
		msg_ptr += msg_len;

		/* we don't know if the change was from us or not so kill 
		   any cached printer objects */

		if ( notify.type == PRINTER_NOTIFY_TYPE )
			invalidate_printer_hnd_cache( notify.printer );
		
		/* add to correct list in container */
		
		notify_msg_ctr_addmsg( &messages, &notify );