RFR(s): 8023541 Race condition in rmid initialization
paul.sandoz at oracle.com
Wed Jan 29 10:04:40 UTC 2014
On Jan 29, 2014, at 10:29 AM, Alan Bateman <Alan.Bateman at oracle.com> wrote:
> I just wonder if you could change initialized to volatile and only synchronize/wait when false? That way you would only be adding a read of a volatile. I assume the stub can never be null so maybe it could be changed to volatile and only wait if null (the initialized flag could go away then).
I was wondering the same thing.
> One other comment (assuming the current approach goes ahead) is that you could change lookup, bind, unbind so that they only await when the name is not ActivationSystem. Also list doesn't appear to need the stub so maybe the await is not needed there.
This is rather mysterious. The only direct reference to systemStub is in lookup if name.equals(NAME) and the bind/unbind/rebind all barf on that condition, does either the throwing of the exception to the call to the super method result in a call to lookup(NAME) ?
More information about the core-libs-dev