commit | 05bb98f3a411e7a04fb1b5180432ceec4928ff09 | [log] [tgz] |
---|---|---|
author | Michael Blow <mblow@apache.org> | Wed Feb 28 01:24:38 2018 -0500 |
committer | Michael Blow <mblow@apache.org> | Wed Feb 28 06:58:31 2018 -0800 |
tree | 55e49dfe31e2ba358e581a98f9f3fd57b479196f | |
parent | 42b6bbee35792661b2d01b06cd43a4278670779d [diff] |
[NO ISSUE] stop awaiting IPC connect on state == CLOSED Change-Id: I0dc67100cfcb827d54abfc8b0f0d358bf6e02aeb Reviewed-on: https://asterix-gerrit.ics.uci.edu/2434 Reviewed-by: Murtadha Hubail <mhubail@apache.org> Tested-by: Michael Blow <mblow@apache.org>
diff --git a/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/IPCHandle.java b/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/IPCHandle.java index b3a992b..d63bfbd 100644 --- a/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/IPCHandle.java +++ b/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/IPCHandle.java
@@ -118,10 +118,22 @@ } synchronized boolean waitTillConnected() throws InterruptedException { - while (state != HandleState.CONNECTED && state != HandleState.CONNECT_FAILED) { - wait(); + while (true) { + switch (state) { + case INITIAL: + case CONNECT_SENT: + case CONNECT_RECEIVED: + // TODO: need a reasonable timeout here + wait(); + break; + case CONNECTED: + case CONNECT_FAILED: + case CLOSED: + return state == HandleState.CONNECTED; + default: + throw new IllegalStateException("unknown state: " + state); + } } - return state == HandleState.CONNECTED; } ByteBuffer getInBuffer() {