[erlang-questions] is this a shell bug?

Attila Rajmund Nohl attila.r.nohl@REDACTED
Mon Apr 23 09:56:08 CEST 2012


2012/4/23 吴磊 <mjollnir.ray@REDACTED>:
> Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:4:4]
> [async-threads:0] [hipe] [kernel-poll:false]
>
> Eshell V5.9.1  (abort with ^G)
> 1> self().
> <0.32.0>
> 2> process_flag(trap_exit, true).
> false
> 3>  spawn_link(fun() -> ok end).
> <0.36.0>
> 4> process_info(self(), messages).
> {messages,[{'EXIT',<0.36.0>,normal}]}
> 5> receive X -> X end.
> {'EXIT',<0.36.0>,normal}
> 6>  spawn_link(fun() -> ok end).
> <0.40.0>
> 7> process_info(self(), messages).
> {messages,[{'EXIT',<0.40.0>,normal}]}
> 8> receive X -> X end.
>
> shell SUSPENDING .... WHAT's happed here?

X was already bound, so you were waiting for {'EXIT',<0.36.0>,normal},
but got {'EXIT',<0.40.0>,normal}

Too bad the shell can't read my mind, I've spent more hours chasing
"bugs" like this than I'm willing to admit.



More information about the erlang-questions mailing list