On 07/03/2013 06:15 PM, Alan Bateman wrote:

When running with a security manager, ServiceLoader isn't currently very predictable when created and used in different contexts. For the ServiceLoader usages in the JDK then isn't a problem because all (bar one or two uninteresting cases) involve creating the ServiceLoader and immediately iterating over the providers. However for other usages then it may be an issue as the iteration over the providers may or may not have the expected permissions. The webrev with the proposed changes is here:

http://cr.openjdk.java.net/~alanb/8019622/webrev/

Mandy - this is one that we've chatted about a few times so you are probably the best to review it (if you have time of course).

-Alan.

Hi Alan,
you can use a method reference instead a lambda here,
so
  PrivilegedAction<Boolean> action = () -> hasNextService();
return AccessController.doPrivileged(action, acc);
can be written
  return AccessController.doPrivileged(this::hasNextService, acc);
(me crossing my fingers in hope that the compiler will not be confused by the overloads).

cheers,
Rémi

Reply via email to