diff options
author | Andrew Bartlett <abartlet@samba.org> | 2014-05-14 20:12:03 +1200 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2014-06-11 10:18:26 +0200 |
commit | 791c38282d681c60eaedb47803b9043991f5950d (patch) | |
tree | 55ad69a7a7f9f721eb42ef9f2e4789443bef2ce3 /source4/dsdb/schema/schema.h | |
parent | 8327321225251e312ccbd06bbefa5ebf98099f34 (diff) | |
download | samba-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.h | 7 |
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 */ |