| 50 | self._stop_unlocked() |
| 51 | |
| 52 | def _stop_unlocked(self): |
| 53 | if self._forkserver_pid is None: |
| 54 | return |
| 55 | |
| 56 | # close the "alive" file descriptor asks the server to stop |
| 57 | os.close(self._forkserver_alive_fd) |
| 58 | self._forkserver_alive_fd = None |
| 59 | |
| 60 | os.waitpid(self._forkserver_pid, 0) |
| 61 | self._forkserver_pid = None |
| 62 | |
| 63 | if not util.is_abstract_socket_namespace(self._forkserver_address): |
| 64 | os.unlink(self._forkserver_address) |
| 65 | self._forkserver_address = None |
| 66 | self._forkserver_authkey = None |
| 67 | |
| 68 | def set_forkserver_preload(self, modules_names, *, on_error='ignore'): |
| 69 | '''Set list of module names to try to load in forkserver process. |