Merge remote-tracking branch 'origin/master' into jetty-9.1

Conflicts:
	jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java
	jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java
This commit is contained in:
Greg Wilkins 2013-09-30 13:20:13 +10:00
commit 5f02620603
3 changed files with 13 additions and 7 deletions

View File

@ -232,7 +232,10 @@ public abstract class SelectorManager extends AbstractLifeCycle implements Dumpa
} }
catch (Exception x) catch (Exception x)
{ {
LOG.info("Exception while notifying connection " + connection, x); if (isRunning())
LOG.warn("Exception while notifying connection " + connection, x);
else
LOG.debug("Exception while notifying connection {}",connection, x);
} }
} }

View File

@ -709,19 +709,20 @@ public class JettyRunForkedMojo extends AbstractMojo
if (PluginLog.getLog().isDebugEnabled()) if (PluginLog.getLog().isDebugEnabled())
PluginLog.getLog().debug(Arrays.toString(cmd.toArray())); PluginLog.getLog().debug(Arrays.toString(cmd.toArray()));
forkedProcess = builder.start();
PluginLog.getLog().info("Forked process starting"); PluginLog.getLog().info("Forked process starting");
if (waitForChild) if (waitForChild)
{ {
forkedProcess = builder.start();
startPump("STDOUT",forkedProcess.getInputStream()); startPump("STDOUT",forkedProcess.getInputStream());
startPump("STDERR",forkedProcess.getErrorStream()); startPump("STDERR",forkedProcess.getErrorStream());
int exitcode = forkedProcess.waitFor(); int exitcode = forkedProcess.waitFor();
PluginLog.getLog().info("Forked execution exit: "+exitcode); PluginLog.getLog().info("Forked execution exit: "+exitcode);
} }
else else
{ //we're not going to be reading the stderr as we're not waiting for the child to finish { //merge stderr and stdout from child
forkedProcess.getErrorStream().close(); builder.redirectErrorStream(true);
forkedProcess = builder.start();
//wait for the child to be ready before terminating. //wait for the child to be ready before terminating.
//child indicates it has finished starting by printing on stdout the token passed to it //child indicates it has finished starting by printing on stdout the token passed to it
@ -754,6 +755,7 @@ public class JettyRunForkedMojo extends AbstractMojo
{ {
throw new MojoExecutionException ("Problem determining if forked process is ready: "+e.getMessage()); throw new MojoExecutionException ("Problem determining if forked process is ready: "+e.getMessage());
} }
} }
} }
catch (InterruptedException ex) catch (InterruptedException ex)

View File

@ -21,6 +21,7 @@ package org.eclipse.jetty.server;
import java.io.IOException; import java.io.IOException;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.channels.ClosedChannelException;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
@ -361,13 +362,13 @@ public class HttpChannel<T> implements HttpParser.RequestHandler<T>, Runnable
// Complete generating the response // Complete generating the response
_response.closeOutput(); _response.closeOutput();
} }
catch(EofException e) catch(EofException|ClosedChannelException e)
{ {
LOG.debug(e); LOG.debug(e);
} }
catch(Exception e) catch(Exception e)
{ {
LOG.warn("handle complete",e); LOG.warn("complete failed",e);
} }
finally finally
{ {
@ -762,7 +763,7 @@ public class HttpChannel<T> implements HttpParser.RequestHandler<T>, Runnable
@Override @Override
public void failed(final Throwable x) public void failed(final Throwable x)
{ {
if (x instanceof EofException) if (x instanceof EofException || x instanceof ClosedChannelException)
{ {
LOG.debug(x); LOG.debug(x);
_callback.failed(x); _callback.failed(x);