libbluray | branch: master | hpi1 <h...@anonymous.org> | Tue Mar 29 11:46:16 2016 +0300| [6e7939473cacec489d2cd3045116c5f4888db605] | committer: hpi1
Use private lock > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=6e7939473cacec489d2cd3045116c5f4888db605 --- .../tv/service/selection/ServiceContextFactoryImpl.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/libbluray/bdj/java/javax/tv/service/selection/ServiceContextFactoryImpl.java b/src/libbluray/bdj/java/javax/tv/service/selection/ServiceContextFactoryImpl.java index 2940db4..9fb6b95 100644 --- a/src/libbluray/bdj/java/javax/tv/service/selection/ServiceContextFactoryImpl.java +++ b/src/libbluray/bdj/java/javax/tv/service/selection/ServiceContextFactoryImpl.java @@ -24,13 +24,11 @@ import javax.tv.xlet.XletContext; import org.bluray.ti.selection.TitleContextImpl; public class ServiceContextFactoryImpl extends ServiceContextFactory { - protected ServiceContextFactoryImpl() { - serviceContexts = new ServiceContext[1]; - serviceContexts[0] = new TitleContextImpl(); - } + + private static final Object instanceLock = new Object(); public static ServiceContextFactory getInstance() { - synchronized (ServiceContextFactoryImpl.class) { + synchronized (instanceLock) { if (instance == null) instance = new ServiceContextFactoryImpl(); return instance; @@ -38,11 +36,16 @@ public class ServiceContextFactoryImpl extends ServiceContextFactory { } public static void shutdown() { - synchronized (ServiceContextFactoryImpl.class) { + synchronized (instanceLock) { instance = null; } } + protected ServiceContextFactoryImpl() { + serviceContexts = new ServiceContext[1]; + serviceContexts[0] = new TitleContextImpl(); + } + public ServiceContext createServiceContext() throws InsufficientResourcesException, SecurityException { _______________________________________________ libbluray-devel mailing list libbluray-devel@videolan.org https://mailman.videolan.org/listinfo/libbluray-devel