From b3bfb1b9badce7165b7851f6c496253c70d4e6e0 Mon Sep 17 00:00:00 2001 From: imaginos Date: Sun, 17 Aug 2008 14:53:18 +0000 Subject: [PATCH] bug fix as reported by http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=495076, still needs to be tested git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1155 726aef4b-f618-498e-8847-2d620e286838 --- modules/modperl.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/modperl.cpp b/modules/modperl.cpp index 45e0a372..15be8151 100644 --- a/modules/modperl.cpp +++ b/modules/modperl.cpp @@ -235,6 +235,7 @@ public: { perl_destruct(m_pPerl); perl_free(m_pPerl); + PERL_SYS_TERM(); m_pPerl = NULL; } @@ -983,13 +984,16 @@ EXTERN_C void boot_DynaLoader (pTHX_ CV* cv); bool CModPerl::OnLoad(const CString & sArgs, CString & sMessage) { + const int iArgc = 5; + const char *pArgv[] = { "", "-e", "0", "-T", "-w", NULL }; + PERL_SYS_INIT3( &iArgc, &pArgc, NULL ); m_pPerl = perl_alloc(); perl_construct(m_pPerl); - const char *pArgv[] = { "", "-e", "0", "-T", "-w" }; - if (perl_parse(m_pPerl, NULL, 2, (char **)pArgv, (char **)NULL) != 0) + if (perl_parse(m_pPerl, NULL, iArgc, (char **)pArgv, (char **)NULL) != 0) { perl_free(m_pPerl); + PERL_SYS_TERM(); m_pPerl = NULL; return(false); }