On Dec 30, 2013, at 7:08 PM, Nick Kew <n...@apache.org> wrote: > > On 31 Dec 2013, at 00:22, Leif Hedstrom wrote: > >> Sort of, but it doesn't reload the plugin code itself. A lot if people want >> to be able to reload an updated .so on a live system. The reason I brought >> this up is because a future version if ATS that supports this presumably >> need to call the init function again. So semantics might change :). > > A plugin could take charge of that. Libloader springs to mind: > - it loads libraries. It could optionally run a TSPluginInit. > - it could introduce a TSMgmtUpdate function to unload/reload. > > That would turn it from a trivial utility to something interesting!
Sounds cool, do it! :-). One concern, not sure if it’s real or not, is how to deal with the fact that ATS might be in the middle of running with the old code, as libloader wants to link in the new version. Somehow, I think you’ll have to deal with keep multiple versions of the plugin code around, until all the old transactions have drained ? I.e. is it possible to do this without additions / modifications to the core. Or maybe libloader moves into the core? Cheers, — leif