MCPcopy Create free account
hub / github.com/MariaDB/server / plugin_initialize

Function plugin_initialize

sql/sql_plugin.cc:1495–1527  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1493}
1494
1495static int plugin_initialize(MEM_ROOT *tmp_root, struct st_plugin_int *plugin,
1496 int *argc, char **argv, bool options_only)
1497{
1498 int ret= 1;
1499 DBUG_ENTER("plugin_initialize");
1500
1501 mysql_mutex_assert_owner(&LOCK_plugin);
1502 uint state= plugin->state;
1503 DBUG_ASSERT(state == PLUGIN_IS_UNINITIALIZED);
1504
1505 mysql_mutex_unlock(&LOCK_plugin);
1506
1507 mysql_prlock_wrlock(&LOCK_system_variables_hash);
1508 if (test_plugin_options(tmp_root, plugin, argc, argv))
1509 state= PLUGIN_IS_DISABLED;
1510 mysql_prlock_unlock(&LOCK_system_variables_hash);
1511
1512 if (options_only || state == PLUGIN_IS_DISABLED)
1513 {
1514 ret= !options_only && plugin_is_forced(plugin);
1515 state= PLUGIN_IS_DISABLED;
1516 }
1517 else
1518 ret= plugin_do_initialize(plugin, state);
1519
1520 if (ret && ret != HA_ERR_RETRY_INIT)
1521 plugin_variables_deinit(plugin);
1522
1523 mysql_mutex_lock(&LOCK_plugin);
1524 plugin->state= state;
1525
1526 DBUG_RETURN(ret);
1527}
1528
1529
1530extern "C" const uchar *get_plugin_hash_key(const void *, size_t *, my_bool);

Callers 2

plugin_initFunction · 0.85
finalize_installFunction · 0.85

Calls 4

test_plugin_optionsFunction · 0.85
plugin_is_forcedFunction · 0.85
plugin_do_initializeFunction · 0.85
plugin_variables_deinitFunction · 0.85

Tested by

no test coverage detected