On Mon, 2 Mar 2009 12:45:06 -0800 Ask Bjørn Hansen <a...@develooper.com> wrote:
> > On Feb 20, 2009, at 8:21, Jared Johnson wrote: > > >> The attached diff should fix it for you. I'll commit later if nobody > >> complains. > > > > It appears this still hasn't been applied. I just applied it myself > > and it works for me; is there anything stopping this from being > > committed? > > > (Including the patch below for reference). > > Could someone summarize the issue for me? It seems a bit heavy > handed to remove the reuse of the loaded plugins; is that really > necessary? Or am I misunderstanding what this does? Well, the plugins are not recompiled or newly initialized (at least not if you have a queue/ plugin :-)). ->load_plugins() just returns the loaded and initialized plugins. When reconnecting to a prefork instance which has auth'd someone before and you try to auth, you get a "503 but you already said AUTH". This hasn't popped up until we removed the workaround in plugins/tls (exit after SSL, see SVN revs 805, 894) for prefork. The "cloning" of the base instance doesn't do a "deep copy" of the base object, it just returns a new ref to it. This way the base instance is used for all connecting clients. We do some cleanup stuff, but probably not enough... => create new instance instead of reusing a possibly dirty one. Mhh, maybe there's an issue with this patch: I think you can't use the pre-connection hook to check for a fresh config file. That'd be reloaded on any connect and does not stay shared for all connections until it changes (see dnswl plugin in SVN's contrib/ for example). Hanno