summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/BufferManager.java
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2002-03-11 22:02:29 +0000
committerMark Spruiell <mes@zeroc.com>2002-03-11 22:02:29 +0000
commitbeb00c32c02e779fac76992921e37f0c3cc7b00d (patch)
tree5d38be82c7ece2d266bebdff87571315b596ddac /java/src/IceInternal/BufferManager.java
parentminor fix (diff)
downloadice-beb00c32c02e779fac76992921e37f0c3cc7b00d.tar.bz2
ice-beb00c32c02e779fac76992921e37f0c3cc7b00d.tar.xz
ice-beb00c32c02e779fac76992921e37f0c3cc7b00d.zip
fixes for MemoryLimitException
Diffstat (limited to 'java/src/IceInternal/BufferManager.java')
-rw-r--r--java/src/IceInternal/BufferManager.java26
1 files changed, 22 insertions, 4 deletions
diff --git a/java/src/IceInternal/BufferManager.java b/java/src/IceInternal/BufferManager.java
index fde144ccd94..63abf762423 100644
--- a/java/src/IceInternal/BufferManager.java
+++ b/java/src/IceInternal/BufferManager.java
@@ -23,8 +23,17 @@ final class BufferManager
java.nio.ByteBuffer buf = getBuffer(size);
if (buf == null)
{
- //buf = java.nio.ByteBuffer.allocateDirect(size);
- buf = java.nio.ByteBuffer.allocate(size);
+ try
+ {
+ //buf = java.nio.ByteBuffer.allocateDirect(size);
+ buf = java.nio.ByteBuffer.allocate(size);
+ }
+ catch (OutOfMemoryError ex)
+ {
+ Ice.MemoryLimitException e = new Ice.MemoryLimitException();
+ e.initCause(ex);
+ throw e;
+ }
buf.order(java.nio.ByteOrder.LITTLE_ENDIAN);
}
return buf;
@@ -36,8 +45,17 @@ final class BufferManager
java.nio.ByteBuffer buf = getBuffer(size);
if (buf == null)
{
- //buf = java.nio.ByteBuffer.allocateDirect(size);
- buf = java.nio.ByteBuffer.allocate(size);
+ try
+ {
+ //buf = java.nio.ByteBuffer.allocateDirect(size);
+ buf = java.nio.ByteBuffer.allocate(size);
+ }
+ catch (OutOfMemoryError ex)
+ {
+ Ice.MemoryLimitException e = new Ice.MemoryLimitException();
+ e.initCause(ex);
+ throw e;
+ }
buf.order(java.nio.ByteOrder.LITTLE_ENDIAN);
}
buf.put(old);