Hi, Nirbhay! On Sep 27, Nirbhay Choubey wrote:
On Tue, Sep 27, 2016 at 3:49 PM, Sergei Golubchik <serg@mariadb.org> wrote:
I don't understand, why do you need to create a dummy plugin here?
Since global_system_variables.table_plugin is null when the startup wsrep threads are created, I used dummy plugin to initialize it to avoid running into segfaults in intern_plugin_lock() invoked from under plugin_thdvar_init().
static plugin_ref intern_plugin_lock(LEX *lex, plugin_ref rc) { st_plugin_int *pi= plugin_ref_to_int(rc); ... if (pi->state & (PLUGIN_IS_READY | PLUGIN_IS_UNINITIALIZED | PLUGIN_IS_DELETED))
I see.
Also, with this commit plugin_thdvar_init() is free from wsrep related changes.
That's great, indeed! I'd probably declared wsrep_dummy_plugin statically, instead of allocating it: static st_plugin_int wsrep_dummy_plugin; but it doesn't matter much in this bug fix, so whatever you prefer. Ok to push Regards, Sergei Chief Architect MariaDB and security@mariadb.org