Erlang:sys:get_status/1会干扰超时吗?

Not*_* ID 2 erlang erlang-otp

假设我有一个gen_server进程P,其中包含这样的代码

handle_call(get_a, _From, #state{a = 1}=S) ->
    Reply = S#state.a,
    {reply, Reply, S, T=1000000};
Run Code Online (Sandbox Code Playgroud)

如果我这样做gen_server:call(P, get_a),那么我会收到回复,即1如果T在gen调用之后没有向P in发送消息,则会发生超时.

如果我sys:get_status(P)在gen调用后立即执行,是否会取消超时?

Ste*_*ski 5

调用sys:get_status/1,2您的gen_server进程不会取消超时.而且为了完整性,请注意无论您是否gen_server实现可选format_status/2回调,都是如此.