summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/ThreadPoolWorkQueue.java
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2014-10-01 12:54:54 -0230
committerMatthew Newhook <matthew@zeroc.com>2014-10-01 12:54:54 -0230
commitb697dfe6fc3d774d7cc557708799033e653959aa (patch)
treec0e6e0c6e29d00416764921c758de3a39bbe070f /java/src/IceInternal/ThreadPoolWorkQueue.java
parentUse selector.wakeup() instead of a socket pair to wake the selector. (diff)
downloadice-b697dfe6fc3d774d7cc557708799033e653959aa.tar.bz2
ice-b697dfe6fc3d774d7cc557708799033e653959aa.tar.xz
ice-b697dfe6fc3d774d7cc557708799033e653959aa.zip
Fixed size() to return the true number if _destroyed is true.
Diffstat (limited to 'java/src/IceInternal/ThreadPoolWorkQueue.java')
-rw-r--r--java/src/IceInternal/ThreadPoolWorkQueue.java24
1 files changed, 9 insertions, 15 deletions
diff --git a/java/src/IceInternal/ThreadPoolWorkQueue.java b/java/src/IceInternal/ThreadPoolWorkQueue.java
index 208c562ae9c..2915a388123 100644
--- a/java/src/IceInternal/ThreadPoolWorkQueue.java
+++ b/java/src/IceInternal/ThreadPoolWorkQueue.java
@@ -23,9 +23,7 @@ final class ThreadPoolWorkQueue extends EventHandler
}
@Override
- protected synchronized void
- finalize()
- throws Throwable
+ protected synchronized void finalize() throws Throwable
{
try
{
@@ -40,16 +38,14 @@ final class ThreadPoolWorkQueue extends EventHandler
}
}
- synchronized
- void destroy()
+ synchronized void destroy()
{
assert(!_destroyed);
_destroyed = true;
_selector.wakeup();
}
- synchronized void
- queue(ThreadPoolWorkItem item)
+ synchronized void queue(ThreadPoolWorkItem item)
{
if(_destroyed)
{
@@ -61,8 +57,7 @@ final class ThreadPoolWorkQueue extends EventHandler
}
@Override
- public void
- message(ThreadPoolCurrent current)
+ public void message(ThreadPoolCurrent current)
{
ThreadPoolWorkItem workItem = null;
synchronized(this)
@@ -91,15 +86,13 @@ final class ThreadPoolWorkQueue extends EventHandler
}
@Override
- public void
- finished(ThreadPoolCurrent current)
+ public void finished(ThreadPoolCurrent current)
{
assert(false);
}
@Override
- public String
- toString()
+ public String toString()
{
return "work queue";
}
@@ -113,11 +106,12 @@ final class ThreadPoolWorkQueue extends EventHandler
// Return the number of pending events.
synchronized int size()
{
+ int sz = _workItems.size();
if(_destroyed)
{
- return 1;
+ sz++;
}
- return _workItems.size();
+ return sz;
}
synchronized void update(List<EventHandlerOpPair> handlers)