【问题标题】:Erlang: does sys:get_status/1 interfere with timeout?Erlang:sys:get_status/1 是否会干扰超时?
【发布时间】:2015-11-13 22:13:45
【问题描述】:

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

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

如果我做gen_server:call(P, get_a),那么我会得到一个回复​​,即1,如果在gen call之后没有消息发送到T中的P,那么就会发生超时。

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

【问题讨论】:

    标签: erlang erlang-otp


    【解决方案1】:

    在您的gen_server 进程上调用sys:get_status/1,2 不会取消超时。为了完整起见,请注意,无论您的 gen_server 是否实现可选的 format_status/2 回调,这都是正确的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-24
      • 1970-01-01
      相关资源
      最近更新 更多