summaryrefslogtreecommitdiffstats
path: root/src/providers/dp_backend.h
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2010-11-19 21:11:26 +0100
committerStephen Gallagher <sgallagh@redhat.com>2010-12-01 16:16:01 -0500
commitc8708cd958c633cc3c57a3460bdb15391200e1e1 (patch)
tree955f8122c00131a5d0790e6ea1df203db2e65818 /src/providers/dp_backend.h
parentcb57f38188a761c3654c5a7aeb5adaae23bf30d5 (diff)
downloadsssd-c8708cd958c633cc3c57a3460bdb15391200e1e1.tar.gz
sssd-c8708cd958c633cc3c57a3460bdb15391200e1e1.tar.xz
sssd-c8708cd958c633cc3c57a3460bdb15391200e1e1.zip
Run checks before resetting offline state
Before setting the backend to online during a reset offline request the check_online method if the ID provider is called. If the check_online method returns that the ID provider is still not reachable the backend stays offline. Otherwise the backend is switched to online and the related callbacks are run. Additionally the check online test is called during the res_init request because a change in /etc/resolve.conf might also make a server reachable which was assumed offline before.
Diffstat (limited to 'src/providers/dp_backend.h')
-rw-r--r--src/providers/dp_backend.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/providers/dp_backend.h b/src/providers/dp_backend.h
index e11b3b6c7..3d5e40bae 100644
--- a/src/providers/dp_backend.h
+++ b/src/providers/dp_backend.h
@@ -111,6 +111,8 @@ struct be_ctx {
struct loaded_be loaded_be[BET_MAX];
struct bet_info bet_info[BET_MAX];
+
+ size_t check_online_ref_count;
};
struct bet_ops {
@@ -193,4 +195,5 @@ void be_fo_try_next_server(struct be_ctx *ctx, const char *service_name);
int be_fo_run_callbacks_at_next_request(struct be_ctx *ctx,
const char *service_name);
+void reset_fo(struct be_ctx *be_ctx);
#endif /* __DP_BACKEND_H___ */