[erlang-questions] Is -on_load() still experimental? Anyone using it?
Tue Feb 11 00:15:48 CET 2014
Great information, thanks!
Having this documented helps a lot when trying not to break things.
On 10 February 2014 19:44, Sverker Eriksson
> On 01/28/2014 06:37 PM, Ferenc Holzhauser wrote:
>> Thanks. The behaviour is quite neatly described in the documentation. If
>> there is no intention to change it (which is probably the case by now)
>> perhaps it is also an idea to remove the experimental warning or replace
>> with a more appropriate one about correct use. The name of the directive
>> deceptive enough to bring the unwary to ideas and eventually make them
>> break things.
>> If well understood then it can be useful to trigger other things than NIF
>> loading but I also think that the documentation should generally
> We will keep on_load as experimental as there are a number of known weak
> points in current semantics which we therefore might want to change but do
> not have time to do for OTP 17.0:
> * Doing external call in on_load to the module itself leads to deadlock.
> This could be handled as a special case and let external calls in the
> process doing on_load reach the module itself.
> * At upgrade, other processes calling the module get suspended waiting for
> on_load. We could let them reach the "old" module until on_load_succeeds to
> not destroy realtime characteristics.
> * At upgrade, no rollback is done if on_load fails. If we instead delay
> the upgrade until after on_load succeeds the system will not be left in a
> "broken" state.
> /Sverker, Erlang/OTP
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions