in rl/common/vector_env.py [0:0]
def close(self) -> None:
if self._is_closed:
return
if self._is_waiting:
for read_fn in self._connection_read_fns:
read_fn()
for write_fn in self._connection_write_fns:
write_fn((CLOSE_COMMAND, None))
for _, _, write_fn, _ in self._paused:
write_fn((CLOSE_COMMAND, None))
for process in self._workers:
process.join()
for _, _, _, process in self._paused:
process.join()
self._is_closed = True