mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-12 16:35:45 +01:00
fix missing errorstream output in some situations
This commit is contained in:
@@ -390,13 +390,11 @@ public class DefaultCGIExecutor extends AbstractCGIExecutor
|
|||||||
private void execute(Process process) throws IOException
|
private void execute(Process process) throws IOException
|
||||||
{
|
{
|
||||||
InputStream processIS = null;
|
InputStream processIS = null;
|
||||||
InputStream processES = null;
|
|
||||||
ServletOutputStream servletOS = null;
|
ServletOutputStream servletOS = null;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
processES = process.getErrorStream();
|
processErrorStreamAsync(process);
|
||||||
processErrorStreamAsync(processES);
|
|
||||||
processServletInput(process);
|
processServletInput(process);
|
||||||
processIS = process.getInputStream();
|
processIS = process.getInputStream();
|
||||||
servletOS = response.getOutputStream();
|
servletOS = response.getOutputStream();
|
||||||
@@ -409,7 +407,6 @@ public class DefaultCGIExecutor extends AbstractCGIExecutor
|
|||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
IOUtil.close(processIS);
|
IOUtil.close(processIS);
|
||||||
IOUtil.close(processES);
|
|
||||||
IOUtil.close(servletOS);
|
IOUtil.close(servletOS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -506,23 +503,31 @@ public class DefaultCGIExecutor extends AbstractCGIExecutor
|
|||||||
* Method description
|
* Method description
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @param errorStream
|
*
|
||||||
|
* @param process
|
||||||
*/
|
*/
|
||||||
private void processErrorStreamAsync(final InputStream errorStream)
|
private void processErrorStreamAsync(final Process process)
|
||||||
{
|
{
|
||||||
new Thread(new Runnable()
|
new Thread(new Runnable()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
|
InputStream errorStream = null;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
errorStream = process.getErrorStream();
|
||||||
processErrorStream(errorStream);
|
processErrorStream(errorStream);
|
||||||
}
|
}
|
||||||
catch (IOException ex)
|
catch (IOException ex)
|
||||||
{
|
{
|
||||||
logger.error("could not read errorstream", ex);
|
logger.error("could not read errorstream", ex);
|
||||||
}
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
IOUtil.close(errorStream);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}).start();
|
}).start();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user