3
관리자 메시지가 내 gen_event
관리자 프로세스에서 수신되면 모든 처리기가 처리 한 후 다른 이벤트를 처리하기 전에 중지해야합니다.gen_event 관리자에게 원자 적으로 알리고 중지합니다
-module(manager).
...
stop(Reason) ->
gen_event:sync_notify(manager, {stop, Reason}),
gen_event:stop(manager).
그러나 이것은 그렇지 않으면 sync_notify
후 stop
전에 다른 프로세스에서 보낸 이벤트를 처리 할 수있는, handle_event({stop, Reason}, State)
에서 remove_handler
을 반환하는 모든 핸들러가 필요합니다 내가 찾을 수있는 유일한 방법은 이것이다. 핸들러에 대한 요구 사항을 부과하지 않는 접근 방식을 선호합니다.