From e0a141dd5de9c78e13477c406e52001d3f2fbcd5 Mon Sep 17 00:00:00 2001 From: kalmarek Date: Sun, 25 Nov 2018 01:04:10 +0100 Subject: [PATCH] fix redirection of scs log via do-block --- src/sos_sdps.jl | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/sos_sdps.jl b/src/sos_sdps.jl index c64292c..f12e1c1 100644 --- a/src/sos_sdps.jl +++ b/src/sos_sdps.jl @@ -196,18 +196,14 @@ end function solve(solverlog::String, model::JuMP.Model, varλ::JuMP.Variable, varP, warmstart=nothing) - function f() - Base.Libc.flush_cstdio() - status, (λ, P, ws) = PropertyT.solve(model, varλ, varP, warmstart) - Base.Libc.flush_cstdio() - return λ, P, ws - end - isdir(dirname(solverlog)) || mkpath(dirname(solverlog)) - log = open(solverlog, "a+") - λ, P, warmstart = redirect_stdout(f, log) - close(log) + status, (λ, P, ws) = open(solverlog, "a+") do logfile + Base.Libc.flush_cstdio() + redirect_stdout(logfile) do + PropertyT.solve(model, varλ, varP, warmstart) + end + end return status, (λ, P, warmstart) end