diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2010-05-24 10:03:17 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2010-05-24 13:36:05 -0400 |
commit | 7bd53da9237e7e6c2d772f1e35cdee4c0f2fa60c (patch) | |
tree | 83fba5db4d9c72895448f4ec8f823d374aac015a /src/providers/proxy | |
parent | d51cdeedaa99ba35059e25428245221deb3a76ba (diff) | |
download | sssd-7bd53da9237e7e6c2d772f1e35cdee4c0f2fa60c.tar.gz sssd-7bd53da9237e7e6c2d772f1e35cdee4c0f2fa60c.tar.xz sssd-7bd53da9237e7e6c2d772f1e35cdee4c0f2fa60c.zip |
Fix queuing bug in proxy provider
We weren't zeroing out the proxy_auth_ctx when we created it, so
the 'running' element was sometimes being filled with garbage data
that exceeded the maximum number of child processes. This meant
that no requests were ever sent to the child processes.
Diffstat (limited to 'src/providers/proxy')
-rw-r--r-- | src/providers/proxy/proxy.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/providers/proxy/proxy.c b/src/providers/proxy/proxy.c index ac2a7dffc..7ff74a1c8 100644 --- a/src/providers/proxy/proxy.c +++ b/src/providers/proxy/proxy.c @@ -281,10 +281,12 @@ static struct tevent_req *proxy_child_send(TALLOC_CTX *mem_ctx, state->running = true; } - - /* If there was no available slot, it will be queued - * until a slot is available - */ + else { + /* If there was no available slot, it will be queued + * until a slot is available + */ + DEBUG(8, ("All available child slots are full, queuing request\n")); + } return req; } @@ -3313,7 +3315,7 @@ int sssm_proxy_auth_init(struct be_ctx *bectx, return EOK; } - ctx = talloc(bectx, struct proxy_auth_ctx); + ctx = talloc_zero(bectx, struct proxy_auth_ctx); if (!ctx) { return ENOMEM; } |