There's no reason, as far as I can tell, for this code if the plugin has not been given a YAML configuration (to reload).
/* Create continuation for management updates to re-read config file */
config_cont = TSContCreate(config_handler, TSMutexCreate());
TSContDataSet(config_cont, (void *)config_holder);
TSMgmtUpdateRegister(config_cont, PLUGIN_NAME);
The easy fix here is to just not call this if there's no config file. However, with #10642, we may also want to clean up the configuration reload, such that we let the core deal with the file timestamps etc. If the file name is given to TSMgmtUpdateRegister(), that continuation will only be called if the file has actually changed.