Revision f235291fb6f55915253ef0ed6b483f2bbf18361e authored by Keno Fischer on 27 October 2023, 20:57:43 UTC, committed by GitHub on 27 October 2023, 20:57:43 UTC
I was intermittently observing the REPL precompile process not
finishing. What I believe was happening is the following:

1. The last line of the precompile script is
`cd("complete_path\t\t$CTRL_C`
2. As soon as child julia sees the `CTRL_C`, the prompt is terminated,
and a new prompt is echod.
3. The parent julia tries to complete the line by sending `\n`, and
immediately returns, because the child has already written a new prompt.
4. The child reads the `\n` and enters raw mode (ignoring things like
^D).
5. The parent tries to write `^D` to complete the process, but because
the child is still processing the `\n`, this `^D` is ignored and the
process hangs.

Try to fix this by not writing the superfluous `\n` if the precompile
line ends in `^C`.
1 parent 8a9476f
Raw File
.gitignore
/*.tar.gz
/tmp
/dist
/dist-extras
/julia
/julia.bat
/usr
/oprofile_data
/usr-staging
/Make.user
/julia-*
/source-dist.tmp
/source-dist.tmp1

*.expmap
*.exe
*.dll
*.dwo
*.do
*.o
*.o.tmp
*.obj
*.so
*.dylib
*.dSYM
*.h.gen
*.jl.cov
*.jl.*.cov
*.jl.mem
*.jl.*.mem
*.ji

/perf*
.DS_Store
.idea/*
.vscode/*
*.heapsnapshot
.cache
# Buildkite: Ignore the entire .buildkite directory
/.buildkite

# Buildkite: Ignore the unencrypted repo_key
repo_key

# Buildkite: Ignore any agent keys (public or private) we have stored
agent_key*
back to top