1
0
Fork 0
mirror of https://github.com/vanitasvitae/Smack.git synced 2024-06-20 10:24:49 +02:00
Smack/smack-core
Florian Schmaus 21c0be5e2a Fixed AbstractXMPPConnection.cachedExecutorService
the combination with concurrencyLevel and LinkedBlockingQueue never
worked as intented. The idea was that the cachedExecutorService would
spawn new threads until maximumPoolSize (=concurrencyLevel) is reached,
and then start queing the Runnables.

But this was not the case, since ThreadPoolExecutor does not take into
consideration if the worker threads is busy, i.e. executing a Runnable,
or idle, i.e. waiting for a Runnable.

This means that if a busy Worker would execute a Runnable, which would
block, because it's waiting for an event (e.g. an incoming IQ
request), then the handling of those incoming IQ request would be
queued by ThreadPoolExecutor, because no fewer threads then corePoolSize
are running and the task can be queued (since the LinkedBlockingQueue is
unbounded).
2015-03-02 15:50:13 +01:00
..
src Fixed AbstractXMPPConnection.cachedExecutorService 2015-03-02 15:50:13 +01:00
.gitignore Prefix subprojects with 'smack-' 2014-04-28 19:44:14 +02:00
build.gradle Enable OSGi compliance via 'DynamicImport-Package: *' 2015-01-03 13:14:02 +01:00