I've modified the implementation:

- Use LocateRegistry.createRegistry(0) where possible (it's not possible in all places), rather then creating a ServerSocket, getting the port, then closing it and returning the port number. - Added a TestLibrary.getRegistryPort(Registry) method to get the port number of the registry. - Added java/rmi and sun/rmi back to the list of tests which must be run in othervm mode.
- Added back othervm to the tests I removed it from.
- Fixed the AltSecurityManager test and removed it from the ProblemList.

Revised webrev can be found here: http://cr.openjdk.java.net/~dmocek/7142596/webrev.01

Darryl

On 04/19/2012 03:50 AM, Alan Bateman wrote:
On 18/04/2012 21:39, Darryl Mocek wrote:
:

Brilliant! I didn't realize Registry.toString included the port number. However, I did in fact find a way to get the port through the API's (see below), although I think toString is more efficient. I'm pretty sure I can get rid of the instanceof checks.
I don't have a strong opinion as to whether it uses toString or depends on sun.rmi.server.RegistryImpl. The main thing is that I think it will be a lot more reliable to bind to an ephemeral port when compared to find an unused port.

Just so you know, I grabbed the patch from your webrev and tried it out, it was nice to see close to x4 improvement when running these tests with -concurrency:auto on an 4-core system.

-Alan

Reply via email to