/hg/release/icedtea6-1.7: 4 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Fri Jun 4 12:29:05 PDT 2010


changeset 22539a0f31fe in /hg/release/icedtea6-1.7
details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=22539a0f31fe
author: Deepak Bhole <dbhole at redhat.com>
date: Fri Jun 04 14:26:12 2010 +0100

	Fixed Bug# 166: Create FIFO pies in temp dir instead of
	~/.icedteaplugin

	2010-03-19 Deepak Bhole <dbhole at redhat.com>

	 PR icedtea/166:
		* plugin/icedteanp/IcedTeaNPPlugin.cc (start_jvm_if_needed):
	Create pipes in a temporary dir instead of users home
	directory. (plugin_start_appletviewer): Pass pipe names to
	PluginMain when initializing Java.
		* plugin/icedteanp/java/sun/applet/PluginMain.java: Receive pipe names
	during initialization.


changeset caf319401914 in /hg/release/icedtea6-1.7
details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=caf319401914
author: Deepak Bhole <dbhole at redhat.com>
date: Mon Mar 22 15:34:55 2010 -0400

	Changed FIFO file location from /tmp/$user-... to
	/tmp/icedteaplugin-$user/$pid-...

	2010-03-22 Deepak Bhole <dbhole at redhat.com>

	 * plugin/icedteanp/IcedTeaNPPlugin.cc
	(start_jvm_if_needed): Change pipe file name format.
	(NP_Initialize): Put FIFO pipe in a separate per-user directory.


changeset cd90c47cdc63 in /hg/release/icedtea6-1.7
details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=cd90c47cdc63
author: Deepak Bhole <dbhole at redhat.com>
date: Tue Apr 06 14:17:02 2010 -0400

	Profiled memory usage and implemented proper cleanup for C++ side.

	2010-04-06 Deepak Bhole <dbhole at redhat.com>

	 * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc
	(newMessageOnBus): Update to used string pointer vector (form
	strSplit) instead of a string vector. Correctly free memory.
		* plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Initialize
	message_queue to be a string pointer vector vector instead of a
	string vector vector. (newMessageOnBus): Update to
	used string pointer vector (form strSplit) instead of a
	string vector. Correctly free memory. (sendWindow): Deal
	with string pointers instead of strings for message parts.
	(eval): Same. (call): Same. (sendString): Same.
	(setMember): Same. (sendMember): Same. (finalize):
	Same. (queue_processor): Same. Also, free message part
	memory after processing.
		* plugin/icedteanp/IcedTeaPluginRequestProcessor.h: Change method
	signatures to deal with string pointer vectors instead of string
	vectors.
		* plugin/icedteanp/IcedTeaPluginUtils.cc (stringToJSID): Added
	another signature that receives a string pointer.
	(strSplit): Return string pointer vector instead of string vector.
	(getUTF8String): Change signature to receive string pointer vector
	instead of string vector. Update function accordingly.
	(getUTF16LEString): Same. (subscribe): Make subscription
	atomic. (unSubscribe): Make unsubscription atomic, bound to
	same lock as subscribe(). (post): Make list
	iteration and processing atomic, bound to same lock as
	subscribe and unSubscribe.
		* plugin/icedteanp/IcedTeaPluginUtils.h: Added new signature for
	stringToJSID and updated signatures for strSplit, getUTF8String and
	getUTF16LEString.
		* plugin/icedteanp/IcedTeaScriptablePluginObject.cc
	(IcedTeaScriptableJavaPackageObject::deAllocate): Implemented
	method. (IcedTeaScriptableJavaPackageObject::invalidate):
	Same. (IcedTeaScriptableJavaObject::deAllocate): Same.
	(IcedTeaScriptableJavaObject::invalidate): Same.


changeset c67ef4e93e63 in /hg/release/icedtea6-1.7
details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=c67ef4e93e63
author: Deepak Bhole <dbhole at redhat.com>
date: Wed Apr 07 14:49:04 2010 -0400

	Update debug output string and function/structure names to change
	'GCJ' references to ITNP/IcedTea NP Plugin

	Remove unnecessary trace print from proxy related code on Java side

	2010-04-07 Deepak Bhole <dbhole at redhat.com>

	 * plugin/icedteanp/IcedTeaNPPlugin.cc: ReplaceAll "GCJ" with
	"ITNP", and change other strings to remove reference to GCJ.
		* plugin/icedteanp/IcedTeaNPPlugin.h : Renamed GCJPluginData to
	ITNPPluginData.
		* plugin/icedteanp/IcedTeaPluginUtils.h: Changed debug output to be
	prefixed with "ICEDTEA NP PLUGIN" instead of "GCJ PLUGIN".
		* plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java: Don't
	print ArrayIndexOutOfBounds traces. Continue to print any others.


diffstat:

11 files changed, 411 insertions(+), 274 deletions(-)
ChangeLog                                                    |   68 ++
plugin/icedteanp/IcedTeaJavaRequestProcessor.cc              |   97 +--
plugin/icedteanp/IcedTeaNPPlugin.cc                          |  270 +++++-----
plugin/icedteanp/IcedTeaNPPlugin.h                           |    4 
plugin/icedteanp/IcedTeaPluginRequestProcessor.cc            |  135 ++---
plugin/icedteanp/IcedTeaPluginRequestProcessor.h             |   16 
plugin/icedteanp/IcedTeaPluginUtils.cc                       |   61 +-
plugin/icedteanp/IcedTeaPluginUtils.h                        |   19 
plugin/icedteanp/IcedTeaScriptablePluginObject.cc            |    7 
plugin/icedteanp/java/sun/applet/PluginMain.java             |    6 
plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java |    2 

diffs (truncated from 1653 to 500 lines):

diff -r 0235bfe1d08d -r c67ef4e93e63 ChangeLog
--- a/ChangeLog	Wed Jun 02 19:56:03 2010 +0100
+++ b/ChangeLog	Wed Apr 07 14:49:04 2010 -0400
@@ -1,3 +1,71 @@ 2010-06-02  Andrew John Hughes  <ahughes
+2010-04-07  Deepak Bhole <dbhole at redhat.com>
+
+	* plugin/icedteanp/IcedTeaNPPlugin.cc: ReplaceAll "GCJ" with "ITNP", and
+	change other strings to remove reference to GCJ.
+	* plugin/icedteanp/IcedTeaNPPlugin.h : Renamed GCJPluginData to
+	ITNPPluginData.
+	* plugin/icedteanp/IcedTeaPluginUtils.h: Changed debug output to be
+	prefixed with "ICEDTEA NP PLUGIN" instead of "GCJ PLUGIN".
+	* plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java: Don't
+	print ArrayIndexOutOfBounds traces. Continue to print any others.
+
+2010-04-06  Deepak Bhole <dbhole at redhat.com>
+
+	* plugin/icedteanp/IcedTeaJavaRequestProcessor.cc
+	(newMessageOnBus): Update to used string pointer vector (form strSplit)
+	instead of a string vector. Correctly free memory.
+	* plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Initialize
+	message_queue to be a string pointer vector vector instead of a string
+	vector vector.
+	(newMessageOnBus): Update to used string pointer vector (form strSplit) 
+	instead of a string vector. Correctly free memory.
+	(sendWindow): Deal with string pointers instead of strings for message
+	parts.
+	(eval): Same.
+	(call): Same.
+	(sendString): Same.
+	(setMember): Same.
+	(sendMember): Same.
+	(finalize): Same.
+	(queue_processor): Same. Also, free message part memory after processing.
+	* plugin/icedteanp/IcedTeaPluginRequestProcessor.h: Change method
+	signatures to deal with string pointer vectors instead of string vectors.
+	* plugin/icedteanp/IcedTeaPluginUtils.cc
+	(stringToJSID): Added another signature that receives a string pointer.
+	(strSplit): Return string pointer vector instead of string vector.
+	(getUTF8String): Change signature to receive string pointer vector instead
+	of string vector. Update function accordingly.
+	(getUTF16LEString): Same. 
+	(subscribe): Make subscription atomic.
+	(unSubscribe): Make unsubscription atomic, bound to same lock as
+	subscribe().
+	(post): Make list iteration and processing atomic, bound to same lock as
+	subscribe and unSubscribe.
+	* plugin/icedteanp/IcedTeaPluginUtils.h: Added new signature for
+	stringToJSID and updated signatures for strSplit, getUTF8String and
+	getUTF16LEString.
+	* plugin/icedteanp/IcedTeaScriptablePluginObject.cc
+	(IcedTeaScriptableJavaPackageObject::deAllocate): Implemented method.
+	(IcedTeaScriptableJavaPackageObject::invalidate): Same.
+	(IcedTeaScriptableJavaObject::deAllocate): Same.
+	(IcedTeaScriptableJavaObject::invalidate): Same.
+
+2010-03-22  Deepak Bhole <dbhole at redhat.com>
+
+	* plugin/icedteanp/IcedTeaNPPlugin.cc
+	(start_jvm_if_needed): Change pipe file name format.
+	(NP_Initialize): Put FIFO pipe in a separate per-user directory.
+
+2010-03-19  Deepak Bhole <dbhole at redhat.com>
+
+	PR icedtea/166:
+	* plugin/icedteanp/IcedTeaNPPlugin.cc
+	(start_jvm_if_needed): Create pipes in a temporary dir instead of users
+	home directory.
+	(plugin_start_appletviewer): Pass pipe names to PluginMain when initializing Java.
+	* plugin/icedteanp/java/sun/applet/PluginMain.java: Receive pipe names
+	during initialization.
+
 2010-06-02  Andrew John Hughes  <ahughes at redhat.com>
 
 	* NEWS: Update with latest backports.
diff -r 0235bfe1d08d -r c67ef4e93e63 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc
--- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc	Wed Jun 02 19:56:03 2010 +0100
+++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc	Wed Apr 07 14:49:04 2010 -0400
@@ -60,21 +60,21 @@ JavaRequestProcessor::newMessageOnBus(co
 {
 
 	// Anything we are waiting for _MUST_ have and instance id and reference #
-	std::vector<std::string>* message_parts = IcedTeaPluginUtilities::strSplit(message, " ");
+	std::vector<std::string*>* message_parts = IcedTeaPluginUtilities::strSplit(message, " ");
 
-	IcedTeaPluginUtilities::printStringVector("JavaRequest::newMessageOnBus:", message_parts);
+	IcedTeaPluginUtilities::printStringPtrVector("JavaRequest::newMessageOnBus:", message_parts);
 
-	if (message_parts->at(0) == "context" && message_parts->at(2) == "reference")
-		if (atoi(message_parts->at(1).c_str()) == this->instance && atoi(message_parts->at(3).c_str()) == this->reference)
+	if (*(message_parts->at(0)) == "context" && *(message_parts->at(2)) == "reference")
+		if (atoi(message_parts->at(1)->c_str()) == this->instance && atoi(message_parts->at(3)->c_str()) == this->reference)
 		{
 			// Gather the results
 
 			// Let's get errors out of the way first
-			if (message_parts->at(4).find("Error") == 0)
+			if (!message_parts->at(4)->find("Error"))
 			{
 				for (int i=5; i < message_parts->size(); i++)
 				{
-					result->error_msg->append(message_parts->at(i));
+					result->error_msg->append(*(message_parts->at(i)));
 					result->error_msg->append(" ");
 				}
 
@@ -83,78 +83,78 @@ JavaRequestProcessor::newMessageOnBus(co
 				result->error_occurred = true;
 				result_ready = true;
 			}
-			else if (message_parts->at(4) == "GetStringUTFChars" ||
-			         message_parts->at(4) == "GetToStringValue")
+			else if (!message_parts->at(4)->find("GetStringUTFChars") ||
+			         !message_parts->at(4)->find("GetToStringValue"))
 			{
 				// first item is length, and it is radix 10
-				int length = strtol(message_parts->at(5).c_str(), NULL, 10);
+				int length = strtol(message_parts->at(5)->c_str(), NULL, 10);
 
 				IcedTeaPluginUtilities::getUTF8String(length, 6 /* start at */, message_parts, result->return_string);
 				result_ready = true;
 			}
-			else if (message_parts->at(4) == "GetStringChars") // GetStringChars (UTF-16LE/UCS-2)
+			else if (!message_parts->at(4)->find("GetStringChars")) // GetStringChars (UTF-16LE/UCS-2)
 			{
 				// first item is length, and it is radix 10
-				int length = strtol(message_parts->at(5).c_str(), NULL, 10);
+				int length = strtol(message_parts->at(5)->c_str(), NULL, 10);
 
 				IcedTeaPluginUtilities::getUTF16LEString(length, 6 /* start at */, message_parts, result->return_wstring);
 				result_ready = true;
-			} else if ((message_parts->at(4) == "FindClass") ||
-			        (message_parts->at(4) == "GetClassName") ||
-			        (message_parts->at(4) == "GetClassID") ||
-			        (message_parts->at(4) == "GetMethodID") ||
-			        (message_parts->at(4) == "GetStaticMethodID") ||
-			        (message_parts->at(4) == "GetObjectClass") ||
-                    (message_parts->at(4) == "NewObject") ||
-                    (message_parts->at(4) == "NewStringUTF") ||
-                    (message_parts->at(4) == "HasPackage") ||
-                    (message_parts->at(4) == "HasMethod") ||
-                    (message_parts->at(4) == "HasField") ||
-                    (message_parts->at(4) == "GetStaticFieldID") ||
-                    (message_parts->at(4) == "GetFieldID") ||
-                    (message_parts->at(4) == "GetJavaObject") ||
-                    (message_parts->at(4) == "IsInstanceOf") ||
-                    (message_parts->at(4) == "NewArray"))
+			} else if (!message_parts->at(4)->find("FindClass") ||
+			           !message_parts->at(4)->find("GetClassName") ||
+			           !message_parts->at(4)->find("GetClassID") ||
+			           !message_parts->at(4)->find("GetMethodID") ||
+			           !message_parts->at(4)->find("GetStaticMethodID") ||
+			           !message_parts->at(4)->find("GetObjectClass") ||
+			           !message_parts->at(4)->find("NewObject") ||
+			           !message_parts->at(4)->find("NewStringUTF") ||
+			           !message_parts->at(4)->find("HasPackage") ||
+			           !message_parts->at(4)->find("HasMethod") ||
+			           !message_parts->at(4)->find("HasField") ||
+			           !message_parts->at(4)->find("GetStaticFieldID") ||
+			           !message_parts->at(4)->find("GetFieldID") ||
+			           !message_parts->at(4)->find("GetJavaObject") ||
+			           !message_parts->at(4)->find("IsInstanceOf") ||
+			           !message_parts->at(4)->find("NewArray"))
 			{
-				result->return_identifier = atoi(message_parts->at(5).c_str());
-				result->return_string->append(message_parts->at(5)); // store it as a string as well, for easy access
+				result->return_identifier = atoi(message_parts->at(5)->c_str());
+				result->return_string->append(*(message_parts->at(5))); // store it as a string as well, for easy access
 				result_ready = true;
-			}  else if ((message_parts->at(4) == "DeleteLocalRef") ||
-		                (message_parts->at(4) == "NewGlobalRef"))
+			}  else if (!message_parts->at(4)->find("DeleteLocalRef") ||
+			            !message_parts->at(4)->find("NewGlobalRef"))
 			{
 			    result_ready = true; // nothing else to do
-			} else if ((message_parts->at(4) == "CallMethod") ||
-					   (message_parts->at(4) == "CallStaticMethod") ||
-					   (message_parts->at(4) == "GetField") ||
-					   (message_parts->at(4) == "GetStaticField") ||
-					   (message_parts->at(4) == "GetValue") ||
-	                   (message_parts->at(4) == "GetObjectArrayElement"))
+			} else if (!message_parts->at(4)->find("CallMethod") ||
+			           !message_parts->at(4)->find("CallStaticMethod") ||
+			           !message_parts->at(4)->find("GetField") ||
+			           !message_parts->at(4)->find("GetStaticField") ||
+			           !message_parts->at(4)->find("GetValue") ||
+			           !message_parts->at(4)->find("GetObjectArrayElement"))
 			{
 
-			    if (message_parts->at(5) == "literalreturn")
+			    if (!message_parts->at(5)->find("literalreturn"))
                 {
 			        // literal returns don't have a corresponding jni id
 			        result->return_identifier = 0;
-			        result->return_string->append(message_parts->at(5));
+			        result->return_string->append(*(message_parts->at(5)));
 			        result->return_string->append(" ");
-			        result->return_string->append(message_parts->at(6));
+			        result->return_string->append(*(message_parts->at(6)));
 
                 } else
 			    {
                     // Else it is a complex object
 
-			        result->return_identifier = atoi(message_parts->at(5).c_str());
-			        result->return_string->append(message_parts->at(5)); // store it as a string as well, for easy access
+			        result->return_identifier = atoi(message_parts->at(5)->c_str());
+			        result->return_string->append(*(message_parts->at(5))); // store it as a string as well, for easy access
 			    }
 
 				result_ready = true;
-			} else if ((message_parts->at(4) == "GetArrayLength"))
+			} else if (!message_parts->at(4)->find("GetArrayLength"))
             {
 			    result->return_identifier = 0; // length is not an "identifier"
-			    result->return_string->append(message_parts->at(5));
+			    result->return_string->append(*(message_parts->at(5)));
 			    result_ready = true;
-            } else if ((message_parts->at(4) == "SetField") ||
-                       (message_parts->at(4) == "SetObjectArrayElement"))
+            } else if (!message_parts->at(4)->find("SetField") ||
+                       !message_parts->at(4)->find("SetObjectArrayElement"))
             {
 
                 // nothing to do
@@ -163,13 +163,12 @@ JavaRequestProcessor::newMessageOnBus(co
                 result_ready = true;
             }
 
-			delete message_parts;
+            IcedTeaPluginUtilities::freeStringPtrVector(message_parts);
 			return true;
 		}
 
-	delete message_parts;
+    IcedTeaPluginUtilities::freeStringPtrVector(message_parts);
 	return false;
-
 }
 
 /**
diff -r 0235bfe1d08d -r c67ef4e93e63 plugin/icedteanp/IcedTeaNPPlugin.cc
--- a/plugin/icedteanp/IcedTeaNPPlugin.cc	Wed Jun 02 19:56:03 2010 +0100
+++ b/plugin/icedteanp/IcedTeaNPPlugin.cc	Wed Apr 07 14:49:04 2010 -0400
@@ -131,7 +131,7 @@ exception statement from your version. *
 #define PLUGIN_FILE_EXTS "class,jar,zip"
 #define PLUGIN_MIME_COUNT 1
 
-#define FAILURE_MESSAGE "gcjwebplugin error: Failed to run %s." \
+#define FAILURE_MESSAGE "icedteanp plugin error: Failed to run %s." \
   "  For more detail rerun \"firefox -g\" in a terminal window."
 
 #if MOZILLA_VERSION_COLLAPSED < 1090100
@@ -194,8 +194,8 @@ typedef union
 #endif
 
 // Static instance helper functions.
-// Have the browser allocate a new GCJPluginData structure.
-static void plugin_data_new (GCJPluginData** data);
+// Have the browser allocate a new ITNPPluginData structure.
+static void plugin_data_new (ITNPPluginData** data);
 // Retrieve the current document's documentbase.
 static gchar* plugin_get_documentbase (NPP instance);
 // Notify the user that the appletviewer is not installed correctly.
@@ -208,11 +208,11 @@ static gboolean plugin_out_pipe_callback
 static gboolean plugin_out_pipe_callback (GIOChannel* source,
                                           GIOCondition condition,
                                           gpointer plugin_data);
-static NPError plugin_start_appletviewer (GCJPluginData* data);
+static NPError plugin_start_appletviewer (ITNPPluginData* data);
 static gchar* plugin_create_applet_tag (int16_t argc, char* argn[],
                                         char* argv[]);
 static void plugin_stop_appletviewer ();
-// Uninitialize GCJPluginData structure
+// Uninitialize ITNPPluginData structure
 static void plugin_data_destroy (NPP instance);
 
 NPError get_cookie_info(const char* siteAddr, char** cookieString, uint32_t* len);
@@ -238,8 +238,8 @@ int plugin_debug = getenv ("ICEDTEAPLUGI
 
 pthread_cond_t cond_message_available = PTHREAD_COND_INITIALIZER;
 
-// Functions prefixed by GCJ_ are instance functions.  They are called
-// by the browser and operate on instances of GCJPluginData.
+// Functions prefixed by ITNP_ are instance functions.  They are called
+// by the browser and operate on instances of ITNPPluginData.
 // Functions prefixed by plugin_ are static helper functions.
 // Functions prefixed by NP_ are factory functions.  They are called
 // by the browser and provide functionality needed to create plugin
@@ -247,22 +247,22 @@ pthread_cond_t cond_message_available = 
 
 // INSTANCE FUNCTIONS
 
-// Creates a new gcjwebplugin instance.  This function creates a
-// GCJPluginData* and stores it in instance->pdata.  The following
-// GCJPluginData fiels are initialized: instance_string, in_pipe_name,
+// Creates a new icedtea np plugin instance.  This function creates a
+// ITNPPluginData* and stores it in instance->pdata.  The following
+// ITNPPluginData fiels are initialized: instance_string, in_pipe_name,
 // in_from_appletviewer, in_watch_source, out_pipe_name,
 // out_to_appletviewer, out_watch_source, appletviewer_mutex, owner,
 // appletviewer_alive.  In addition two pipe files are created.  All
 // of those fields must be properly destroyed, and the pipes deleted,
-// by GCJ_Destroy.  If an error occurs during initialization then this
+// by ITNP_Destroy.  If an error occurs during initialization then this
 // function will free anything that's been allocated so far, set
 // instance->pdata to NULL and return an error code.
 NPError
-GCJ_New (NPMIMEType pluginType, NPP instance, uint16_t mode,
+ITNP_New (NPMIMEType pluginType, NPP instance, uint16_t mode,
          int16_t argc, char* argn[], char* argv[],
          NPSavedData* saved)
 {
-  PLUGIN_DEBUG_0ARG("GCJ_New\n");
+  PLUGIN_DEBUG_0ARG("ITNP_New\n");
 
   static NPObject *window_ptr;
   NPIdentifier identifier;
@@ -280,7 +280,7 @@ GCJ_New (NPMIMEType pluginType, NPP inst
 
 
   NPError np_error = NPERR_NO_ERROR;
-  GCJPluginData* data = NULL;
+  ITNPPluginData* data = NULL;
 
   gchar* documentbase = NULL;
   gchar* read_message = NULL;
@@ -401,7 +401,7 @@ GCJ_New (NPMIMEType pluginType, NPP inst
   g_hash_table_insert(id_to_instance_map, GINT_TO_POINTER(instance_counter), instance);
   instance_counter++;
 
-  PLUGIN_DEBUG_0ARG ("GCJ_New return\n");
+  PLUGIN_DEBUG_0ARG ("ITNP_New return\n");
 
   return np_error;
 }
@@ -428,14 +428,14 @@ void start_jvm_if_needed()
   PLUGIN_DEBUG_0ARG("No JVM is running. Attempting to start one...\n");
 
   NPError np_error = NPERR_NO_ERROR;
-  GCJPluginData* data = NULL;
+  ITNPPluginData* data = NULL;
 
   // Create appletviewer-to-plugin pipe which we refer to as the input
   // pipe.
 
   // in_pipe_name
-  in_pipe_name = g_strdup_printf ("%s/icedteanp-appletviewer-to-plugin",
-                                         data_directory);
+  in_pipe_name = g_strdup_printf ("%s/%d-icedteanp-appletviewer-to-plugin",
+                                         data_directory, getpid());
   if (!in_pipe_name)
     {
       PLUGIN_ERROR ("Failed to create input pipe name.");
@@ -448,21 +448,21 @@ void start_jvm_if_needed()
   // clean up any older pip
   unlink (in_pipe_name);
 
-  PLUGIN_DEBUG_1ARG ("GCJ_New: creating input fifo: %s\n", in_pipe_name);
-  if (mkfifo (in_pipe_name, 0700) == -1 && errno != EEXIST)
+  PLUGIN_DEBUG_1ARG ("ITNP_New: creating input fifo: %s\n", in_pipe_name);
+  if (mkfifo (in_pipe_name, 0600) == -1 && errno != EEXIST)
     {
       PLUGIN_ERROR_TWO ("Failed to create input pipe", strerror (errno));
       np_error = NPERR_GENERIC_ERROR;
       goto cleanup_in_pipe_name;
     }
-  PLUGIN_DEBUG_1ARG ("GCJ_New: created input fifo: %s\n", in_pipe_name);
+  PLUGIN_DEBUG_1ARG ("ITNP_New: created input fifo: %s\n", in_pipe_name);
 
   // Create plugin-to-appletviewer pipe which we refer to as the
   // output pipe.
 
   // out_pipe_name
-  out_pipe_name = g_strdup_printf ("%s/icedteanp-plugin-to-appletviewer",
-                                         data_directory);
+  out_pipe_name = g_strdup_printf ("%s/%d-icedteanp-plugin-to-appletviewer",
+                                         data_directory, getpid());
 
   if (!out_pipe_name)
     {
@@ -474,14 +474,14 @@ void start_jvm_if_needed()
   // clean up any older pip
   unlink (out_pipe_name);
 
-  PLUGIN_DEBUG_1ARG ("GCJ_New: creating output fifo: %s\n", out_pipe_name);
-  if (mkfifo (out_pipe_name, 0700) == -1 && errno != EEXIST)
+  PLUGIN_DEBUG_1ARG ("ITNP_New: creating output fifo: %s\n", out_pipe_name);
+  if (mkfifo (out_pipe_name, 0600) == -1 && errno != EEXIST)
     {
       PLUGIN_ERROR_TWO ("Failed to create output pipe", strerror (errno));
       np_error = NPERR_GENERIC_ERROR;
       goto cleanup_out_pipe_name;
     }
-  PLUGIN_DEBUG_1ARG ("GCJ_New: created output fifo: %s\n", out_pipe_name);
+  PLUGIN_DEBUG_1ARG ("ITNP_New: created output fifo: %s\n", out_pipe_name);
 
   // Start a separate appletviewer process for each applet, even if
   // there are multiple applets in the same page.  We may need to
@@ -572,9 +572,9 @@ void start_jvm_if_needed()
 
   // cleanup_out_pipe:
   // Delete output pipe.
-  PLUGIN_DEBUG_1ARG ("GCJ_New: deleting input fifo: %s\n", in_pipe_name);
+  PLUGIN_DEBUG_1ARG ("ITNP_New: deleting input fifo: %s\n", in_pipe_name);
   unlink (out_pipe_name);
-  PLUGIN_DEBUG_1ARG ("GCJ_New: deleted input fifo: %s\n", in_pipe_name);
+  PLUGIN_DEBUG_1ARG ("ITNP_New: deleted input fifo: %s\n", in_pipe_name);
 
  cleanup_out_pipe_name:
   g_free (out_pipe_name);
@@ -582,9 +582,9 @@ void start_jvm_if_needed()
 
   // cleanup_in_pipe:
   // Delete input pipe.
-  PLUGIN_DEBUG_1ARG ("GCJ_New: deleting output fifo: %s\n", out_pipe_name);
+  PLUGIN_DEBUG_1ARG ("ITNP_New: deleting output fifo: %s\n", out_pipe_name);
   unlink (in_pipe_name);
-  PLUGIN_DEBUG_1ARG ("GCJ_New: deleted output fifo: %s\n", out_pipe_name);
+  PLUGIN_DEBUG_1ARG ("ITNP_New: deleted output fifo: %s\n", out_pipe_name);
 
  cleanup_in_pipe_name:
   g_free (in_pipe_name);
@@ -598,9 +598,9 @@ void start_jvm_if_needed()
 }
 
 NPError
-GCJ_GetValue (NPP instance, NPPVariable variable, void* value)
+ITNP_GetValue (NPP instance, NPPVariable variable, void* value)
 {
-  PLUGIN_DEBUG_0ARG ("GCJ_GetValue\n");
+  PLUGIN_DEBUG_0ARG ("ITNP_GetValue\n");
 
   NPError np_error = NPERR_NO_ERROR;
 
@@ -609,7 +609,7 @@ GCJ_GetValue (NPP instance, NPPVariable 
     // This plugin needs XEmbed support.
     case NPPVpluginNeedsXEmbed:
       {
-        PLUGIN_DEBUG_0ARG ("GCJ_GetValue: returning TRUE for NeedsXEmbed.\n");
+        PLUGIN_DEBUG_0ARG ("ITNP_GetValue: returning TRUE for NeedsXEmbed.\n");
         bool* bool_value = (bool*) value;
         *bool_value = true;
       }
@@ -625,17 +625,17 @@ GCJ_GetValue (NPP instance, NPPVariable 
       break;
     }
 
-  PLUGIN_DEBUG_0ARG ("GCJ_GetValue return\n");
+  PLUGIN_DEBUG_0ARG ("ITNP_GetValue return\n");
 
   return np_error;
 }
 
 NPError
-GCJ_Destroy (NPP instance, NPSavedData** save)
+ITNP_Destroy (NPP instance, NPSavedData** save)
 {
-  PLUGIN_DEBUG_1ARG ("GCJ_Destroy %p\n", instance);
+  PLUGIN_DEBUG_1ARG ("ITNP_Destroy %p\n", instance);
 
-  GCJPluginData* data = (GCJPluginData*) instance->pdata;
+  ITNPPluginData* data = (ITNPPluginData*) instance->pdata;
 
   if (data)
     {
@@ -650,15 +650,15 @@ GCJ_Destroy (NPP instance, NPSavedData**
 
   IcedTeaPluginUtilities::invalidateInstance(instance);
 
-  PLUGIN_DEBUG_0ARG ("GCJ_Destroy return\n");
+  PLUGIN_DEBUG_0ARG ("ITNP_Destroy return\n");
 
   return NPERR_NO_ERROR;
 }
 
 NPError
-GCJ_SetWindow (NPP instance, NPWindow* window)
+ITNP_SetWindow (NPP instance, NPWindow* window)
 {
-  PLUGIN_DEBUG_0ARG ("GCJ_SetWindow\n");
+  PLUGIN_DEBUG_0ARG ("ITNP_SetWindow\n");
 
   if (instance == NULL)
     {
@@ -675,12 +675,12 @@ GCJ_SetWindow (NPP instance, NPWindow* w
       id = GPOINTER_TO_INT(id_ptr);
     }
 
-  GCJPluginData* data = (GCJPluginData*) instance->pdata;
+  ITNPPluginData* data = (ITNPPluginData*) instance->pdata;
 
   // Simply return if we receive a NULL window.
   if ((window == NULL) || (window->window == NULL))
     {
-      PLUGIN_DEBUG_0ARG ("GCJ_SetWindow: got NULL window.\n");
+      PLUGIN_DEBUG_0ARG ("ITNP_SetWindow: got NULL window.\n");
 
       return NPERR_NO_ERROR;
     }



More information about the distro-pkg-dev mailing list