gnumeric r16738 - branches/gnumeric-1-8/plugins/perl-loader



Author: jdassen
Date: Tue Aug 19 13:05:40 2008
New Revision: 16738
URL: http://svn.gnome.org/viewvc/gnumeric?rev=16738&view=rev

Log:
Call PERL_SYS_INIT3() prior to perl_parse(), as per perlembed(1). Without
this, calling perl_parse() will hang inside pthread_mutex_lock() on the HPPA
architecture. See http://bugs.debian.org/486069 for background.


Modified:
   branches/gnumeric-1-8/plugins/perl-loader/ChangeLog
   branches/gnumeric-1-8/plugins/perl-loader/perl-loader.c

Modified: branches/gnumeric-1-8/plugins/perl-loader/perl-loader.c
==============================================================================
--- branches/gnumeric-1-8/plugins/perl-loader/perl-loader.c	(original)
+++ branches/gnumeric-1-8/plugins/perl-loader/perl-loader.c	Tue Aug 19 13:05:40 2008
@@ -191,12 +191,15 @@
 {
 	char *argv[] = { (char*)"", NULL, NULL, NULL };
 	char const *arg;
+	int argc;
 
 	arg = go_plugin_get_dir_name (go_plugin_loader_get_plugin (loader));
 	argv[1] = g_strconcat ("-I", arg, NULL);
 	argv[2] = g_build_filename (arg, "perl_func.pl", NULL);
+	argc = 2;
 
 	if (g_file_test (argv[2], G_FILE_TEST_EXISTS)) {
+		PERL_SYS_INIT3(&argc, &argv, NULL);
 		gnm_perl_interp = perl_alloc ();
 		perl_construct (gnm_perl_interp);
 		perl_parse (gnm_perl_interp, xs_init, 3, argv, NULL);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]