Erlang のドキュメントには、gen_servers について次のように記載されています。
...
通常、シャットダウン、または {shutdown,Term} 以外の理由では、gen_server はエラーのために終了すると見なされ、error_logger:format/2 を使用してエラー レポートが発行されることに注意してください。
ソース: http://www.erlang.org/doc/man/gen_server.html#Module:terminate-2
これらの 3 つの理由以外はエラーと見なされるため、理由normal
、 、shutdown
および{shutdown, Reason}
が正常な動作と見なされると推測します。
通常の状態で gen_server を停止するこれら 3 つの理由を選択した開発者には何らかの動機があると思いますが、どれを使用するかを決定する方法がよくわかりません。
normal
では、いつ、shutdown
およびを使用する必要があり{shutdown, Reason}
ますか?