David Holmes wrote:

Spec change seems fine to me.

http://cr.openjdk.java.net/~michaelm/7034570/webrev.1/

Is it possible to watch for the SystemRoot entry while iterating through at line 322 (ProcessEnvironment.java) instead of doing the iterative search before-hand? Or even doing the sort first and then a binary-search? Maybe the environment on windows is small enough that this isn't an issue?

Originally, I thought that wouldn't work due to the case-insensitivity of the names. You could get the name as "SYSTEMROOT" or "SysTeMRoOt" for example. But, thinking about it again, I could compareToIgnoreCase() with whatever variant is lexicographically last ( "systemroot" I think) and considering the list is already sorted, if we encounter a name that is greater than "systemroot", we know it's not there. It's still the same number of comparisons, but only one loop.
Also what if the parent process doesn't have SystemRoot set in its environment? Does the child just get a 'null' entry?

Yes, it's probably better not to set it at all, in the event that SystemRoot is not set in the parent.

Thanks,
Michael.

Reply via email to