gnumeric r16738 - branches/gnumeric-1-8/plugins/perl-loader
- From: jdassen svn gnome org
- To: svn-commits-list gnome org
- Subject: gnumeric r16738 - branches/gnumeric-1-8/plugins/perl-loader
- Date: Tue, 19 Aug 2008 13:05:41 +0000 (UTC)
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]