AbstractMultiworkerIOReactor.execute() swallows exceptions
----------------------------------------------------------

                 Key: HTTPCORE-163
                 URL: https://issues.apache.org/jira/browse/HTTPCORE-163
             Project: HttpComponents HttpCore
          Issue Type: Bug
          Components: HttpCore NIO
    Affects Versions: 4.0-beta2
            Reporter: Patrick Moore


org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute() has 
try{}finally construct that hides the real problem.

at about line 145:

try {
    for (;;) {
        int readyCount;
         ....
   }
} catch (ClosedSelectorException ex) {
} finally {
    // Shutdown
    try {
        doShutdown();
    } catch (IOException ex) {
        throw new IOReactorException(ex.getMessage(), ex);
    }
}

should really be:

boolean success = false;
try {
    for (;;) {
        int readyCount;
         ....
   }
   success = true;
} catch (ClosedSelectorException ex) {
      success = true;
} finally {
    // Shutdown
    try {
        doShutdown();
    } catch (IOException ex) {
        if ( success)  {
           throw new IOReactorException(ex.getMessage(), ex);
        }
    }
}
      

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to