[SCM] Samba Shared Repository - branch master updated
Andreas Schneider
asn at samba.org
Wed Nov 26 06:51:02 MST 2014
The branch, master has been updated
via ec0c9ad lib: Use tdb_parse_record in gencache_set
from d32b66b dns_server: Only build common library if AD DC is enabled.
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit ec0c9ad0994d35e22ecc50e552d14582c51622b1
Author: Volker Lendecke <vl at samba.org>
Date: Tue Nov 25 21:03:18 2014 +0000
lib: Use tdb_parse_record in gencache_set
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
Autobuild-User(master): Andreas Schneider <asn at cryptomilk.org>
Autobuild-Date(master): Wed Nov 26 14:50:38 CET 2014 on sn-devel-104
-----------------------------------------------------------------------
Summary of changes:
source3/lib/gencache.c | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/lib/gencache.c b/source3/lib/gencache.c
index 3192b45..5ee406b 100644
--- a/source3/lib/gencache.c
+++ b/source3/lib/gencache.c
@@ -251,6 +251,17 @@ static bool gencache_have_val(const char *keystr, const DATA_BLOB *data,
return state.gotit;
}
+static int last_stabilize_parser(TDB_DATA key, TDB_DATA data,
+ void *private_data)
+{
+ time_t *last_stabilize = private_data;
+
+ if ((data.dsize != 0) && (data.dptr[data.dsize-1] == '\0')) {
+ *last_stabilize = atoi((char *)data.dptr);
+ }
+ return 0;
+}
+
/**
* Set an entry in the cache file. If there's no such
* one, then add it.
@@ -267,7 +278,6 @@ bool gencache_set_data_blob(const char *keystr, const DATA_BLOB *blob,
time_t timeout)
{
int ret;
- TDB_DATA databuf;
char* val;
time_t last_stabilize;
static int writecount;
@@ -337,12 +347,10 @@ bool gencache_set_data_blob(const char *keystr, const DATA_BLOB *blob,
*/
last_stabilize = 0;
- databuf = tdb_fetch_compat(cache_notrans, last_stabilize_key());
- if ((databuf.dptr != NULL)
- && (databuf.dptr[databuf.dsize-1] == '\0')) {
- last_stabilize = atoi((char *)databuf.dptr);
- SAFE_FREE(databuf.dptr);
- }
+
+ tdb_parse_record(cache_notrans, last_stabilize_key(),
+ last_stabilize_parser, &last_stabilize);
+
if ((last_stabilize
+ lp_parm_int(-1, "gencache", "stabilize_interval", 300))
< time(NULL)) {
--
Samba Shared Repository
More information about the samba-cvs
mailing list