On Fri, 21 Nov 2003, Oliver Jowett wrote:
> However there's an obvious race condition here between starting query
> execution and cancelling the statement -- it's possible for
> stopWorkerThread() to run at just the wrong time and "cancel" the statement
> before it starts execution, having no effect and leaving the worker thread
> still running a query (at least as I understand cancel() .. that's how it's
> implemented in the postgresql driver anyway).
What if calling cancel on a non running statement threw an SQLException?
Then your stopWorkerThread could retry the cancel.
Kris Jurka