Re: Suicide by module_info
Tuncer Ayaz <[email protected]> Sun, 26 Apr 2015 22:53:58 +0200
| Newsgroups | gmane.comp.lang.erlang.bugs |
|---|---|
| Message-ID | <CAOvwQ4hyncVpGXCkAWcXjcUr3pjo0FxK671Ef8aJMmuXuAdA1Q@mail.gmail.com> |
On Sun, Apr 26, 2015 at 10:46 PM, Richard Carlsson <[email protected]> wrote: > On Sun, Apr 26, 2015 at 10:40 PM, Tuncer Ayaz <[email protected]> wrote: > > > > Could it be that erlang:get_module_info/1 is undocumented and > > therefore underused? I don't think I ever called get_module_info/1 > > and I suspect everyone just uses foo:module_info/0,1, which > > interestingly works after a successful code:delete(foo) call. > > > > The crash is a bug, but this might explain how it went unnoticed. > > > > Do you think the following is the right behavior? > > > > > c(foo). > > {ok,foo} > > > code:delete(foo). > > true > > > foo:module_info(). > > [{module,foo}, > > ...] > > > > I mean, I would expect fully qualified calls to foo:module_infi/0 to > > fail once code:delete(foo) succeeds. Or is this how it's supposed to > > behave? > > > That's how things are supposed to work. If the foo is deleted when > you call foo:module_info(), it will simply get reloaded and then > called, just as if foo had not been previously loaded at all. Of course error_handler:undefined_function/3 takes care of that. Stupid thinko on my part to be blamed on posting late at night, making me look like someone who never tried to write a module named error_handler just to notice the interesting effects :). _______________________________________________ erlang-bugs mailing list [email protected] http://erlang.org/mailman/listinfo/erlang-bugs