summaryrefslogtreecommitdiff
path: root/source4/dsdb/schema/schema.h
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2014-05-14 20:12:03 +1200
committerAndrew Bartlett <abartlet@samba.org>2014-06-11 10:18:26 +0200
commit791c38282d681c60eaedb47803b9043991f5950d (patch)
tree55ad69a7a7f9f721eb42ef9f2e4789443bef2ce3 /source4/dsdb/schema/schema.h
parent8327321225251e312ccbd06bbefa5ebf98099f34 (diff)
downloadsamba-791c38282d681c60eaedb47803b9043991f5950d.tar.gz
dsdb: Do not refresh the schema using the wrong event context
What we now do is have the refresh function and module be on a seperate object to the schema, only referring to the data and not excuting on the original ldb and event loop. That is, we never use another ldb context when calling the refresh function, by binding the refresh handler to the ldb and not the schema. Andrew Bartlett Change-Id: I5c323dda743cf5858badd01147fda6227599bc16 Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'source4/dsdb/schema/schema.h')
-rw-r--r--source4/dsdb/schema/schema.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/source4/dsdb/schema/schema.h b/source4/dsdb/schema/schema.h
index 68c39c23927..cac6f98a27e 100644
--- a/source4/dsdb/schema/schema.h
+++ b/source4/dsdb/schema/schema.h
@@ -248,8 +248,6 @@ struct dsdb_schema {
} fsmo;
/* Was this schema loaded from ldb (if so, then we will reload it when we detect a change in ldb) */
- struct ldb_module *loaded_from_module;
- struct dsdb_schema *(*refresh_fn)(struct ldb_module *module, struct dsdb_schema *schema, bool is_global_schema);
bool refresh_in_progress;
time_t ts_last_change;
time_t last_refresh;
@@ -280,6 +278,11 @@ enum dsdb_schema_convert_target {
TARGET_AD_SCHEMA_SUBENTRY
};
+struct ldb_module;
+
+typedef struct dsdb_schema *(*dsdb_schema_refresh_fn)(struct ldb_module *module,
+ struct tevent_context *ev,
+ struct dsdb_schema *schema, bool is_global_schema);
#include "dsdb/schema/proto.h"
#endif /* _DSDB_SCHEMA_H */