From 3e61c97a7e20a55be53f60c761091933ced53570 Mon Sep 17 00:00:00 2001 From: David Disseldorp Date: Tue, 28 Dec 2010 15:54:54 +0100 Subject: s3-printing: remove printer_list_need_refresh printer_list_need_refresh() was used previously to ensure one smbd process did not attempt to update the printer_list tdb during or soon after update by another smbd. It is no longer needed, as pcap updates are now only performed by the parent smbd process following startup, SIGHUP, config update or printcap cache time expiry. --- source3/printing/pcap.c | 6 ------ source3/printing/printer_list.c | 26 -------------------------- source3/printing/printer_list.h | 9 --------- 3 files changed, 41 deletions(-) (limited to 'source3') diff --git a/source3/printing/pcap.c b/source3/printing/pcap.c index 7a733b1c3c..7208f4b7f8 100644 --- a/source3/printing/pcap.c +++ b/source3/printing/pcap.c @@ -139,12 +139,6 @@ void pcap_cache_reload(struct tevent_context *ev, return; } - if (!printer_list_need_refresh()) { - /* has been just refeshed, skip */ - DEBUG(5, ("Refresh just happend, skipping.\n")); - return; - } - status = printer_list_mark_reload(); if (!NT_STATUS_IS_OK(status)) { DEBUG(0, ("Failed to mark printer list for reload!\n")); diff --git a/source3/printing/printer_list.c b/source3/printing/printer_list.c index f3f00f0c0f..d36a746e45 100644 --- a/source3/printing/printer_list.c +++ b/source3/printing/printer_list.c @@ -215,32 +215,6 @@ done: return status; } -bool printer_list_need_refresh(void) -{ - NTSTATUS status; - time_t last_refresh; - int timediff; - - status = printer_list_get_last_refresh(&last_refresh); - if (!NT_STATUS_IS_OK(status)) { - return true; - } - timediff = time_mono(NULL) - last_refresh; - - if (timediff > 1 ) { - /* if refresh occurred more than 1s (TODO:use lp_printcap_cache_time) ago, - * then we need to refresh */ - return true; - } else if (timediff < 0) { - /* last_refresh newer than now. Seems we have no monotonic - * clock and the clock was adjusted backwards. - * we need to refresh which also resets last_refresh */ - return true; - } - - return false; -} - NTSTATUS printer_list_mark_reload(void) { struct db_context *db; diff --git a/source3/printing/printer_list.h b/source3/printing/printer_list.h index bdcf308098..fce3e34248 100644 --- a/source3/printing/printer_list.h +++ b/source3/printing/printer_list.h @@ -96,13 +96,4 @@ NTSTATUS printer_list_clean_old(void); NTSTATUS printer_list_run_fn(void (*fn)(const char *, const char *, void *), void *private_data); - -/** - * @brief Check if the printer list needs to be refreshed. - * - * @return True if the database needs to be refreshed, false if - * not. - */ -bool printer_list_need_refresh(void); - #endif /* _PRINTER_LIST_H_ */ -- cgit