> On May 7, 2020, at 18:24, Alan Carroll <[email protected]> 
> wrote:
> 
> 
> As part of the ATS 9 upgrade, a feature was added so that remap plugins could 
> have their DSO reloaded. This means not just the configuration, but the 
> implementation itself. While very useful, this has some unfortunate side 
> effects with plugins that are used in both a global and remap context. To 
> alleviate this, a configuration variable as added to disable the feature.
> 
> Although reasonable, this is a rather heavy handed way to deal with the 
> problem. What would be better is the ability to reload the DSO or not on a 
> per remap plugin basis. I have a few ways this could be done:
> 
> 1) Add the keyword "@global" to "remap.config". This would behave exactly as 
> "@plugin" except it would prohibit reloading of the DSO for that plugin.

This was one of the suggestions brought up. I don’t know why it was shutdown.
> 
> 2) Have the remap reload configuration check to see if the plugin is also a 
> global plugin and disable remap DSO reload for that plugin.

I think this is worse, many plugins won’t have problems with a global not being 
reloaded. Worse, many plugins works as either global or remap,  but not both, 
and this limits what the user can do.

> 
> 3) Add a flag to the global plugin registry information which can be set 
> during TSPluginInit which disables DSO reloading for that plugin, should it 
> occur in "remap.config". This is similar to (2) but requires a  plugin to 
> prohibit DSO reloading. The call woud be TSPluginDSOReloadEnable(flag) and 
> would only be valid when called from TSPluginInit.
> 
> 4) As (3), except the flag is set by default and must be cleared to enable 
> DSO reloading in "remap.config".

Either is fine. I think option 1 is by far the easiest and most flexible (let 
the user decide, not the plugin).

— Leif 
> 
> I'm willing to see if I can make this work, but I would like to have some 
> feedback on the preferred approach first.
> 

Reply via email to