src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
@@ -130,14 +130,21 @@
} else if (props.getBoolean(Utils.DEBUG_DISABLE_NATIVE)) {
(new DoUnpack()).run(in0, out);
in0.close();
Utils.markJarFile(out);
} else {
+ try {
(new NativeUnpack(this)).run(in0, out);
in0.close();
Utils.markJarFile(out);
+ } catch (UnsatisfiedLinkError ule) {
+ // failover to java implementation
+ (new DoUnpack()).run(in0, out);
+ in0.close();
+ Utils.markJarFile(out);
}
+ }
} finally {
_nunp = null;
Utils.currentInstance.set(null);
if (tz != null) TimeZone.setDefault(tz);
}