Ulf Zibis wrote:


I don't think about silently changing, I think about to *disallow to set* it e.g. by the put() method, and instead retrieve it by default from constructor, so it could be always read by the get() method.
Ah, you mean the environment returned by ProcessBuilder where the spec does allow the Map to forbid changing certain variables. I don't see this working for the Runtime.exec case as we can't change these methods to fail if the environment includes SystemRoot. The other case is where the environment is initially cleared (in ProcessBuilder's class description it has a note suggesting to use the clear method to start a process with an explicit set of environment variables). All told, I think Michael's approach to ensure that SystemRoot is in the child environment is reasonable.

-Alan.

Reply via email to