quanah@OpenLDAP.org writes:
Full_Name: Quanah Gibson-Mount Version: 2.4.11 OS: NA URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (69.109.79.65)
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=495069
Not sure how much we care about hppa architecture.
It's a general change to the libperl API and may not only affect HPPA. You're apparently now required to call those macros, and in the future they may have more effects.
What we did for INN was add:
#ifdef PERL_SYS_INIT3 PERL_SYS_INIT3(&argc, &argv, &env); #endif
before perl_alloc,
#ifdef PERL_EXIT_DESTRUCT_END PL_exit_flags |= PERL_EXIT_DESTRUCT_END; #endif
after perl_construct, and:
#ifdef PERL_SYS_TERM PERL_SYS_TERM(); #endif
after perl_free. See man perlembed; with Perl 5.10, its example now reads:
int main(int argc, char **argv, char **env) { PERL_SYS_INIT3(&argc,&argv,&env); my_perl = perl_alloc(); perl_construct(my_perl); PL_exit_flags |= PERL_EXIT_DESTRUCT_END; perl_parse(my_perl, NULL, argc, argv, (char **)NULL); perl_run(my_perl); perl_destruct(my_perl); perl_free(my_perl); PERL_SYS_TERM(); }
Notice that we don't use the "env" pointer. Normally handed to "perl_parse" as its final argument, "env" here is replaced by "NULL", which means that the current environment will be used. The macros PERL_SYS_INIT3() and PERL_SYS_TERM() provide system-specific tune up of the C runtime environment necessary to run Perl interpreters; since PERL_SYS_INIT3() may change "env", it may be more appropriate to provide "env" as an argument to perl_parse().