RFR: JDK-6823527: java.util.logging.Handler has thread safety issues

Jason Mehrens jason_mehrens at hotmail.com
Fri Aug 30 17:30:52 UTC 2013


> I'm not sure I'd want to attempt that. Modifications in logging code
> have a tendency to come back and bite you ;-(...
 
I understand.  Maybe a future RFE.  I'm happy with your changes then.

> isLoggable() is not synchronized and no longer calls synchronized
> methods since we're now using volatiles.
> 
> So it can now be called by Thread A even if Thread B has locked
> the handler.
> 
> Or did I miss something?
 
Yes and no.  Place this code in the actual context it is used (Logger.log(LogRecord)) and you'll find that Thread A and B will only call publish->isLoggable not isLoggable->publish->isLoggable.  It is written that way to avoid double filtering.
 
Jason
 		 	   		  


More information about the core-libs-dev mailing list