我有一个生成 gen_fsm 行为实现的主进程,但这个主进程不是主管行为的实现,它只是另一个模块。假设 gen_fsm 的实现称为 GAME_ROOM。我的情况是这样的:
- 当有 3 个人准备好时,主进程将产生一个新的 GAME_ROOM。
- 我使用 gen_fsm:start_link 函数来启动一个新的 GAME_ROOM,所以如果 GAME_ROOM 错误退出,我的 MAIN 进程可以产生一个新的进程,以替换停机的进程。
- 我设法让我的主进程检测到所有被击落的 GAME_ROOM 的 EXIT 事件
问题是:我需要在新的 GAME_ROOM 状态中恢复所有已关闭的状态。我的问题是:如何使用 gen_fsm 的终止功能将 gen_fsm 的最新状态传递给我的 MAIN 进程,所以当我重生一个新的 GAME_ROOM 时,我可以传递这些状态?