src: fix addon loader regression
authorBen Noordhuis <info@bnoordhuis.nl>
Thu, 11 Dec 2014 14:29:52 +0000 (15:29 +0100)
committerBen Noordhuis <info@bnoordhuis.nl>
Sat, 13 Dec 2014 22:07:06 +0000 (23:07 +0100)
commita60056df3cad2867d337fc1d7adeebe66f89031a
treee99e76551afcf80269e36faca2084898be948e05
parent370e82142456cbfced954c7d73360660b7fd81cb
src: fix addon loader regression

Fix a regression that was introduced in commit a38b9178 by removing the
bad check.  Also rearrange the addon loading logic to ensure that the
list of pending addons remains in a consistent state when the shared
object fails to load; in particular, when an addon self-registers first,
then hits a dynamic linker error in a later constructor.

Fixes the following asserting when loading a .node shared object:

    node: ../src/node.cc:1944: void node::node_module_register(void*):
    Assertion `(modpending) != (nullptr)' failed.

Fixes strongloop/strongops#233.

PR-URL: https://github.com/iojs/io.js/pull/154
Reviewed-By: Ryan Graham <ryan@strongloop.com>
src/node.cc