[kaffe] CVS kaffe (hkraemer): fix for unix-jthread crash

Kaffe CVS Kaffe Mailing List <kaffe@kaffe.org>
Mon Feb 2 05:35:03 2004


PatchSet 4383 
Date: 2004/02/02 13:32:30
Author: hkraemer
Branch: HEAD
Tag: (none) 
Log:
fix for unix-jthread crash

Members: 
	ChangeLog:1.1967->1.1968 
	kaffe/kaffevm/thread.c:1.57->1.58 
	libraries/javalib/java/security/Security.java:1.13->1.14 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1967 kaffe/ChangeLog:1.1968
--- kaffe/ChangeLog:1.1967	Mon Feb  2 00:10:54 2004
+++ kaffe/ChangeLog	Mon Feb  2 13:32:30 2004
@@ -1,3 +1,12 @@
+2004-02-01  Helmer Kraemer <hkraemer@freenet.de>
+
+	* kaffe/kaffevm/thread.c
+	(unlinkNativeAndJavaThread): don't set thread_data->jlThread to NULL
+
+	* libraries/javalib/java/security/Security.java
+	(getCryptInstance): use the classloader of the provider's class to
+	load the engine
+	
 2004-02-01  Dalibor Topic <robilad@kaffe.org>
 
         include/gettext.h:
Index: kaffe/kaffe/kaffevm/thread.c
diff -u kaffe/kaffe/kaffevm/thread.c:1.57 kaffe/kaffe/kaffevm/thread.c:1.58
--- kaffe/kaffe/kaffevm/thread.c:1.57	Sun Feb  1 22:14:53 2004
+++ kaffe/kaffe/kaffevm/thread.c	Mon Feb  2 13:32:29 2004
@@ -106,7 +106,7 @@
 	unhand((Hjava_lang_Thread *)thread_data->jlThread)->PrivateInfo = 0;
 	*/
 
-	thread_data->jlThread = 0;
+	//thread_data->jlThread = 0;
 	thread_data->jniEnv = 0;
 
 	ksemDestroy (&thread_data->sem);
Index: kaffe/libraries/javalib/java/security/Security.java
diff -u kaffe/libraries/javalib/java/security/Security.java:1.13 kaffe/libraries/javalib/java/security/Security.java:1.14
--- kaffe/libraries/javalib/java/security/Security.java:1.13	Tue Oct 21 21:06:16 2003
+++ kaffe/libraries/javalib/java/security/Security.java	Mon Feb  2 13:32:30 2004
@@ -279,9 +279,8 @@
 
 		// Instantiate class
 		try {
-			ClassLoader cl = ClassLoader.getSystemClassLoader();
 			return new Engine(p, alg,
-				cl.loadClass(name).newInstance());
+				Class.forName(name, true, p.getClass().getClassLoader()).newInstance());
 		} catch (ClassNotFoundException e) {
 			throw new NoSuchAlgorithmException("class "
 				+ name + " not found");