[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Roland Weber resolved HTTPCLIENT-726.
-------------------------------------

    Resolution: Fixed

The only (a)wait is in WaitingThread, the spurious wakeups are handled in 
ConnPoolByRoute. I've implemented a testcase, and the Clover counts indicated 
that I even caught one real spurious wakeup in addition to the simulated ones 
:-)

For the curious: in ConnPoolByRoute.getEntry(...) is the following code block:

if (waitingThread == null) {
    waitingThread =
        newWaitingThread(poolLock.newCondition(), rospl);
}

The condition is 'false' only if a spurious wakeup is being handled. The 
testcase generates three simulated ones. If the count indicates that the block 
has been skipped more often, you know that a real spurious wakeup has occurred.

cheers,
  Roland


> review TSCCM for spurious wakeups
> ---------------------------------
>
>                 Key: HTTPCLIENT-726
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-726
>             Project: HttpComponents HttpClient
>          Issue Type: Improvement
>          Components: HttpConn
>            Reporter: Roland Weber
>            Assignee: Roland Weber
>             Fix For: 4.0 Alpha 3
>
>
> Review the code of the TSCCM/ConnPoolByRoute for places where spurious 
> wakeups may happen.
> Verify that this case is dealt with correctly. Unit test by giving invalid 
> wakeup signals?

-- 
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