diff options
Diffstat (limited to 'src/providers/proxy.c')
-rw-r--r-- | src/providers/proxy.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/providers/proxy.c b/src/providers/proxy.c index c7aef3086..ac5cf7fe9 100644 --- a/src/providers/proxy.c +++ b/src/providers/proxy.c @@ -277,6 +277,16 @@ static void proxy_pam_handler(struct be_req *req) { static void proxy_reply(struct be_req *req, int dp_err, int error, const char *errstr) { + if (!req->be_ctx->offstat.offline) { + /* This action took place online. + * Fire any online callbacks if necessary. + * Note: we're checking the offline value directly, + * because if the activity took a long time to + * complete, calling be_is_offline() might report false + * incorrectly. + */ + be_run_online_cb(req->be_ctx); + } return req->fn(req, dp_err, error, errstr); } |