提交 51ceaa97 编写于 作者: R Robin Chen

fix reset waitingenv bug

上级 004d3c4d
......@@ -310,10 +310,6 @@ class AsyncSubprocessEnvManager(BaseEnvManager):
value is the cooresponding reset parameters.
"""
self._check_closed()
# clear previous info
for env_id in self._waiting_env['step']:
self._pipe_parents[env_id].recv()
self._waiting_env['step'].clear()
if reset_param is None:
reset_env_list = [env_id for env_id in range(self._env_num)]
......@@ -322,6 +318,12 @@ class AsyncSubprocessEnvManager(BaseEnvManager):
for env_id in reset_param:
self._reset_param[env_id] = reset_param[env_id]
# clear previous info
for env_id in reset_env_list:
if env_id in self._waiting_env['step']:
self._pipe_parents[env_id].recv()
self._waiting_env['step'].remove(env_id)
sleep_count = 0
while any([self._env_states[i] == EnvState.RESET for i in reset_env_list]):
if sleep_count % 1000 == 0:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册