| 988 | } |
| 989 | |
| 990 | void stop_embedded_repl() { |
| 991 | if (g_repl_running.load()) { |
| 992 | const int rfd = g_repl_read_fd.load(); |
| 993 | const int wfd = g_repl_write_fd.load(); |
| 994 | if (rfd >= 0) { |
| 995 | close_fd(rfd); |
| 996 | g_repl_read_fd = -1; |
| 997 | } |
| 998 | if (wfd >= 0 && wfd != rfd) { |
| 999 | close_fd(wfd); |
| 1000 | g_repl_write_fd = -1; |
| 1001 | } |
| 1002 | } |
| 1003 | if (g_repl_thread.joinable()) { |
| 1004 | g_repl_thread.join(); |
| 1005 | } |
| 1006 | } |
| 1007 | |
| 1008 | void update_python_path() { |
| 1009 | const auto packages = get_user_packages_dir(); |
no test coverage detected