gen server - Erlang gen_server cast bad return value -
i try cast message gen_server:
gen_server:cast({global, id}, {watchers}).
the handler is:
handle_cast({watchers}, state) -> case state#table_state.watchers of [] -> {reply, no_watchers, state}; _ -> {reply, state#table_state.watchers, state} end;
but when execute gen_server:cast
gen_server terminates error:
=error report==== 29-apr-2011::18:26:07 === ** generic server 1 terminating ** last message in {'$gen_cast',{watchers}} ** when server state == {table_state,1,"1",11,[]} ** reason termination == ** {bad_return_value,{reply, no_watchers, {table_state,3,"3",11,[]}}}
why bad_return_value
?
you cannot reply using cast (see gen_server
documentation). whole point of casting asynchronous message instead of using call.
in case want return reply, use gen_server:call/2
instead.
Comments
Post a Comment