On 10/16/07, J. Matthew Pryor <[EMAIL PROTECTED]> wrote: > > The thread is created by the ByteUtils class in its getStream() method
Yes, but what are you doing with the InputStream returned by getStream()? I suspect that you aren't reading this stream completely, so the writing thread blocks forever. The writer thread is putting things in a capacity-bound queue; it might be better if the ByteUtils code used timed offer() instead of put(). Independent of the blocking issue, if the thread created by the call to ByteUtils.getStream isDaemon() without a call to setDaemon(), that implies that the calling thread isDaemon(). And that's bad. --tim

