[erlang-questions] clarify: Shell Crash on Compilation
Matthias Lang
matthias@REDACTED
Sat Dec 22 21:12:55 CET 2007
| 9.9. Why does my application die every second time I load new code into it?
|
| Erlang's code replacement system is based around there being (up to)
| two copies of the code loaded at any time, these are called "old" and
| "new". When you load new code, the current version becomes "old" and
| the "old" code is thrown away. Any processes still running "old" code
| are killed.
|
| You can check if there is any old code for a particular module still running:
|
| Eshell V4.9.1 (abort with ^G)
| 1> l(erl).
| {module,erl}
| 2> code:soft_purge(erl).
| false
|
|
| In this case old code is still running. You can also check if a
| particular process is running old code, by using
| erlang:check_process_code(Pid, Module).
http://www.erlang.org/faq/faq.html
Matthias
Ryan Janzen writes:
> Hello List,
>
> I was compiling code in the erlang shell on my Powerbook and got this:
>
> 49> c(flux_http_handshake).
> *** ERROR: Shell process terminated! ***
> Eshell V5.6 (abort with ^G)
> 1>
>
> Is there any reason the shell should crash like this? If I retry the
> compilation, it works.
>
> erl --version gives:
>
> Erlang (BEAM) emulator version 5.6 [source] [async-threads:0] [hipe]
> [kernel-poll:false]
>
> Eshell V5.6 (abort with ^G)
> 1>
>
> and I am running R12B-0 with patch.
>
> Ryan
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
More information about the erlang-questions
mailing list