[erlang-patches] Fix serialization problem in xmerl export
Wed Oct 30 13:35:47 CET 2013
On 2013-09-27 14:32, Fredrik wrote:
> On 09/27/2013 01:49 PM, Richard Carlsson wrote:
>> The inheritance mechanism in xmerl uses 'catch apply(M,F,Args)'
>> to try different modules M until one was found that had a function
>> F/A. However, when M:F/A does not exist, apply/3 will trap to
>> error_handler:undefined_function/3, which will call
>> code:ensure_loaded(M), making a synchronous request to the code
>> server process. If many processes tried to use xmerl:export()
>> concurrently, they would get serialized waiting for the code server
>> This patch uses erlang:function_exported/3 instead to check if M:F/A
>> exists. If M exists, it should already have been loaded at that point
>> due to the inheritance checking in the xmerl:callbacks/1 function.
>> git fetch :richcarl/otp.git
>> erlang-patches mailing list
> Hello Richard,
> I've created a pullrequest for your patch, which you can follow here:
> The patch will be run through initial tests and then be assigned to be
> reviewed by responsible developers.
> BR Fredrik Gustafsson
> Erlang OTP Team
More information about the erlang-patches