398467 Servlet 3.1 Non Blocking IO

continue after double dispatch with just a logged error
This commit is contained in:
Greg Wilkins 2013-05-29 09:37:43 +10:00
parent 10539d5a3f
commit 579f8994ca
1 changed files with 5 additions and 2 deletions

View File

@ -209,7 +209,6 @@ public class HttpChannelState
if (_async!=null) if (_async!=null)
{ {
Async async=_async; Async async=_async;
_async=null;
switch(async) switch(async)
{ {
case COMPLETE: case COMPLETE:
@ -217,14 +216,18 @@ public class HttpChannelState
return Action.COMPLETE; return Action.COMPLETE;
case DISPATCH: case DISPATCH:
_state=State.DISPATCHED; _state=State.DISPATCHED;
_async=null;
return Action.ASYNC_DISPATCH; return Action.ASYNC_DISPATCH;
case EXPIRING: case EXPIRING:
break; break;
case EXPIRED: case EXPIRED:
_state=State.DISPATCHED; _state=State.DISPATCHED;
_async=null;
return Action.ASYNC_EXPIRED; return Action.ASYNC_EXPIRED;
case STARTED: case STARTED:
throw new IllegalStateException(this.getStatusString()); // TODO
LOG.warn("TODO Fix this double dispatch",new IllegalStateException(this.getStatusString()));
return Action.WAIT;
} }
} }