diff --git a/.travis.yml b/.travis.yml index ee1d0471ed801..f1137de6d3c50 100644 --- a/.travis.yml +++ b/.travis.yml @@ -66,7 +66,7 @@ script: - cd .. && mv julia julia2 - cp /tmp/julia/lib/julia/sys.ji local.ji && /tmp/julia/bin/julia -J local.ji -e 'true' && /tmp/julia/bin/julia-debug -J local.ji -e 'true' && rm local.ji - /tmp/julia/bin/julia -e 'versioninfo()' - - export JULIA_CPU_CORES=4 && cd /tmp/julia/share/julia/test && /tmp/julia/bin/julia --check-bounds=yes runtests.jl all && /tmp/julia/bin/julia --check-bounds=yes runtests.jl pkg + - export JULIA_CPU_CORES=2 && cd /tmp/julia/share/julia/test && /tmp/julia/bin/julia --check-bounds=yes runtests.jl all && /tmp/julia/bin/julia --check-bounds=yes runtests.jl pkg - cd - && mv julia2 julia - sudo dmesg - echo "Ready for packaging..." diff --git a/base/loading.jl b/base/loading.jl index a18aace1e9aa3..963bc0b920d74 100644 --- a/base/loading.jl +++ b/base/loading.jl @@ -301,33 +301,39 @@ function create_expr_cache(input::AbstractString, output::AbstractString) end """ io, pobj = open(detach(`$(julia_cmd()) - --output-ji $output --output-incremental=yes - --startup-file=no --history-file=no - --eval $code_object`), "w", STDOUT) - serialize(io, quote - empty!(Base.LOAD_PATH) - append!(Base.LOAD_PATH, $LOAD_PATH) - empty!(Base.LOAD_CACHE_PATH) - append!(Base.LOAD_CACHE_PATH, $LOAD_CACHE_PATH) - empty!(Base.DL_LOAD_PATH) - append!(Base.DL_LOAD_PATH, $DL_LOAD_PATH) - end) - source = source_path(nothing) - if source !== nothing - serialize(io, quote - task_local_storage()[:SOURCE_PATH] = $(source) - end) - end - serialize(io, :(Base._track_dependencies[1] = true)) - serialize(io, :(Base.include($(abspath(input))))) - if source !== nothing + --output-ji $output --output-incremental=yes + --startup-file=no --history-file=no + --eval $code_object`), "w", STDOUT) + try serialize(io, quote - delete!(task_local_storage(), :SOURCE_PATH) - end) + empty!(Base.LOAD_PATH) + append!(Base.LOAD_PATH, $LOAD_PATH) + empty!(Base.LOAD_CACHE_PATH) + append!(Base.LOAD_CACHE_PATH, $LOAD_CACHE_PATH) + empty!(Base.DL_LOAD_PATH) + append!(Base.DL_LOAD_PATH, $DL_LOAD_PATH) + end) + source = source_path(nothing) + if source !== nothing + serialize(io, quote + task_local_storage()[:SOURCE_PATH] = $(source) + end) + end + serialize(io, :(Base._track_dependencies[1] = true)) + serialize(io, :(Base.include($(abspath(input))))) + if source !== nothing + serialize(io, quote + delete!(task_local_storage(), :SOURCE_PATH) + end) + end + close(io) + wait(pobj) + return pobj + catch + kill(pobj) + close(io) + rethrow() end - close(io) - wait(pobj) - return pobj end compilecache(mod::Symbol) = compilecache(string(mod))