https://issues.apache.org/bugzilla/show_bug.cgi?id=52066

Alexander Pogrebnyak <alex-pub.apache-...@reflexion.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |

--- Comment #9 from Alexander Pogrebnyak <alex-pub.apache-...@reflexion.net> 
2012-03-29 14:52:47 UTC ---
(In reply to comment #8)
> Please note that the interrupt flag was already cleared, this commit does
> change things around a bit
> http://svn.apache.org/viewvc?rev=1306410&view=rev
> I've made an adjustment based on a suggestion on the dev list

Reviewing the code I see these lines in close() and borrowConnection

    catch (InterruptedException ex) {
        ...
        if (!getPoolProperties().getPropagateInterruptState()) {
           Thread.interrupted();
        }
        ...
    }

The problem is that this still does not set the interrupted status on the
thread, that's the common behavior of many flavors of wait methods.  So, in
this case the handler have to make a call to interrupt itself.

The exception handler code should do this:

    catch (InterruptedException ex) {
        ...
        if (getPoolProperties().getPropagateInterruptState()) {
           Thread.currentThread().interrupt();
        } else {
           Thread.interrupted();
        }
        ...
    }

The fix should be applied to lines 384 and and 631 of
org.apache.tomcat.jdbc.pool.ConnectionPool in
http://svn.apache.org/viewvc?view=revision&revision=1305931

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to