From: David Disseldorp Date: Tue, 28 Dec 2010 14:54:54 +0000 (+0100) Subject: s3-printing: remove printer_list_need_refresh X-Git-Tag: release-3-6-0pre2~387^2~915 X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=57dcab12d1ac2098ec77a1c5533a85f5b31f8a0e;p=ddiss%2Fsamba.git 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. --- diff --git a/source3/printing/pcap.c b/source3/printing/pcap.c index 7a733b1c3cb..7208f4b7f8c 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 f3f00f0c0f5..d36a746e452 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 bdcf308098c..fce3e34248c 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_ */