以下の内容はhttps://higepon.hatenablog.com/entry/20090707/1246951460より取得しました。


send しているのに receive でブロックする

send しているのに受け取り側でブロックするのはなぜだ。receive 条件を _ にしても受信できないので失敗しているのかな。
gen_server:handle_call から隣のノードに gen_server:cast しているんだけどこれが原因だろうか?


検索で

  • 開始ノードが handle_call を受け取る
  • 右のノードに cast 。直後に結果受け取りの receive でブロックする。
    • cast 時には結果送り先として self を渡しておく
  • 右のノードは key がマッチしたら送り先に結果を ! する。マッチしなければさらに右のノードに cast する

という方式をとっているんだけど。OTP 的な定石がありそうだよなあ。




以上の内容はhttps://higepon.hatenablog.com/entry/20090707/1246951460より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14