> On Jun 21, 2016, at 4:54 AM, Daniel Fuchs <daniel.fu...@oracle.com> wrote: > > Hi Hamlin, > > I was mistaken in my first assessment. > > The case where the system handler's list is not empty > should only happen if by misfortune two different threads > happen to attempt to merge the same two configurations > concurrently. Though of no consequence for level, filter, > etc... (single values) that would be an issue for the > handlers list if not handled correctly. > > With that in mind I have slightly revised the fix - and > added a more verbose comment explaining the reason for the > isEmpty() check. > > http://cr.openjdk.java.net/~dfuchs/webrev_8159245/webrev.01/index.html
A related one, what if setLevel is called on a logger while its config is not set to the system logger’s config but system logger’s config is already set with the level previously set? Would it be simpler if ConfigurationData defines the getter/setter methods and synchronized if it’s being merged? Mandy