Skip to content

Commit 0888996

Browse files
author
Hubert Plociniczak
committed
Notify any rpc continuation in 'closing' channels
about connection shutdown signal. Report any shutdown signal exception encountered durign channel close.
1 parent d52a1a5 commit 0888996

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

src/com/rabbitmq/client/impl/ChannelManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ public void handleSignal(ShutdownSignalException signal) {
7171
try {
7272
channel.processShutdownSignal(signal);
7373
} catch (ShutdownSignalException sse) {
74-
// Ignore already closed channels
74+
// Notify channels that are waiting for rpc
75+
channel.notifyOutstandingRpc(signal);
7576
}
7677
}
7778
}

src/com/rabbitmq/client/impl/ChannelN.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -296,17 +296,16 @@ public void close(int closeCode,
296296
k.getReply(-1);
297297
} catch (TimeoutException ise) {
298298
// Will never happen since we wait infinitely
299-
} catch (ShutdownSignalException sse) {
300-
// Ignore.
301-
}
299+
} finally {
302300

303-
// Now we know everything's been cleaned up and there should
304-
// be no more surprises arriving on the wire. Release the
305-
// channel number, and dissociate this ChannelN instance from
306-
// our connection so that any further frames inbound on this
307-
// channel can be caught as the errors they are.
308-
releaseChannelNumber();
309-
notifyListeners();
301+
// Now we know everything's been cleaned up and there should
302+
// be no more surprises arriving on the wire. Release the
303+
// channel number, and dissociate this ChannelN instance from
304+
// our connection so that any further frames inbound on this
305+
// channel can be caught as the errors they are.
306+
releaseChannelNumber();
307+
notifyListeners();
308+
}
310309
}
311310

312311
/**

0 commit comments

Comments
 (0)