aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/security/natVMAccessControlState.cc
diff options
context:
space:
mode:
authorGary Benson <gbenson@redhat.com>2006-08-14 14:24:52 +0000
committerGary Benson <gary@gcc.gnu.org>2006-08-14 14:24:52 +0000
commitbe6415beaefe63fbcf0f8fad53cf9662fb6640ba (patch)
tree7fe539e40e9ebdcbc39e02be15bd5107a3797cac /libjava/java/security/natVMAccessControlState.cc
parent2b3969faee4094c5b857bf024e8ce4b7d832dc2d (diff)
downloadgcc-be6415beaefe63fbcf0f8fad53cf9662fb6640ba.zip
gcc-be6415beaefe63fbcf0f8fad53cf9662fb6640ba.tar.gz
gcc-be6415beaefe63fbcf0f8fad53cf9662fb6640ba.tar.bz2
Thread.java (accessControlState): New field.
2006-08-14 Gary Benson <gbenson@redhat.com> * java/lang/Thread.java (accessControlState): New field. * java/security/VMAccessControlState.java: New file. * java/security/natVMAccessControlState.cc: Likewise. * java/security/VMAccessController.java (contexts, inGetContext): Removed. (pushContext, popContext, getContext): Use VMAccessControlState. * Makefile.am (nat_source_files): Updated. * sources.am, Makefile.in: Rebuilt. From-SVN: r116128
Diffstat (limited to 'libjava/java/security/natVMAccessControlState.cc')
-rw-r--r--libjava/java/security/natVMAccessControlState.cc32
1 files changed, 32 insertions, 0 deletions
diff --git a/libjava/java/security/natVMAccessControlState.cc b/libjava/java/security/natVMAccessControlState.cc
new file mode 100644
index 0000000..a4c14cd
--- /dev/null
+++ b/libjava/java/security/natVMAccessControlState.cc
@@ -0,0 +1,32 @@
+// natVMAccessControlState.cc -- Native part of the VMAccessControlState class.
+
+/* Copyright (C) 2006 Free Software Foundation, Inc.
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <gcj/cni.h>
+#include <jvm.h>
+
+#include <java/lang/Thread.h>
+#include <java/security/VMAccessControlState.h>
+
+java::security::VMAccessControlState *
+java::security::VMAccessControlState::getThreadState ()
+{
+ java::lang::Thread *thread = java::lang::Thread::currentThread ();
+ if (thread == NULL)
+ return NULL;
+
+ VMAccessControlState *state =
+ reinterpret_cast<VMAccessControlState *> (thread->accessControlState);
+ if (state == NULL)
+ thread->accessControlState = state = new VMAccessControlState ();
+
+ return state;
+}