summaryrefslogtreecommitdiffstats
path: root/libjava/java/lang
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2006-04-04 23:25:09 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2006-04-04 23:25:09 +0000
commitcfccb34552155a0866a25cf5fc17a98b1565f29d (patch)
tree69263b8da1ad85374698a5321589ea97c4c382ff /libjava/java/lang
parentd86ccd2cf85cab143f2ad064a0eebb1092397c2b (diff)
downloadppe42-gcc-cfccb34552155a0866a25cf5fc17a98b1565f29d.tar.gz
ppe42-gcc-cfccb34552155a0866a25cf5fc17a98b1565f29d.zip
PR libgcj/26990:
* prims.cc (_Jv_RunMain): Use exitNoChecksAccessor. * gnu/java/lang/natMainThread.cc (call_main): Use exitNoChecksAccessor. * testsuite/libjava.lang/pr26990.out: New file. * testsuite/libjava.lang/pr26990.java: New file. * java/lang/Runtime.java (exitNoChecks): New method. (exitNoChecksAccessor): Likewise. (exit): Call exitNoChecks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112685 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang')
-rw-r--r--libjava/java/lang/Runtime.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/libjava/java/lang/Runtime.java b/libjava/java/lang/Runtime.java
index 519b4ac8c5e..3466f19f2a0 100644
--- a/libjava/java/lang/Runtime.java
+++ b/libjava/java/lang/Runtime.java
@@ -146,9 +146,20 @@ public class Runtime
SecurityManager sm = SecurityManager.current; // Be thread-safe!
if (sm != null)
sm.checkExit(status);
+ exitNoChecks(status);
+ }
+ // Accessor to avoid adding a vtable slot.
+ static void exitNoChecksAccessor(int status)
+ {
+ current.exitNoChecks(status);
+ }
+
+ // Private since we can't add a vtable slot in 4.1.x.
+ private void exitNoChecks(int status)
+ {
if (runShutdownHooks())
- halt(status);
+ exitInternal(status);
// Someone else already called runShutdownHooks().
// Make sure we are not/no longer in the shutdownHooks set.
@@ -171,7 +182,7 @@ public class Runtime
// while finalization for exit is going on and the status is non-zero
// we halt immediately.
if (status != 0)
- halt(status);
+ exitInternal(status);
while (true)
try
OpenPOWER on IntegriCloud