summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--src/plugins/scripts/perl/weechat-perl.c8
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 8a2d1febe..f670a5499 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,7 @@
WeeChat ChangeLog
=================
FlashCode <flashcode@flashtux.org>
-v0.3.2-dev, 2010-04-05
+v0.3.2-dev, 2010-04-12
Version 0.3.2 (under dev!)
@@ -57,6 +57,8 @@ Version 0.3.2 (under dev!)
* scripts: fix bug with callbacks when loading a script already loaded
* perl: fix crash when callbacks are called during script initialization
(bug #29018)
+* perl: fix crash on /quit or unload of plugin under FreeBSD and Cygwin
+ (bug #29467)
* irc: add SASL authentication, with PLAIN and DH-BLOWFISH mechanisms
(task #8829)
* irc: fix crash with SSL connection if option ssl_cert is set (bug #28752)
diff --git a/src/plugins/scripts/perl/weechat-perl.c b/src/plugins/scripts/perl/weechat-perl.c
index 01210bd26..5fef4e7c6 100644
--- a/src/plugins/scripts/perl/weechat-perl.c
+++ b/src/plugins/scripts/perl/weechat-perl.c
@@ -892,8 +892,12 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
perl_main = NULL;
}
#endif
-
-#ifdef PERL_SYS_TERM
+
+#if defined(PERL_SYS_TERM) && !defined(__FreeBSD__) && !defined(WIN32) && !defined(__CYGWIN__)
+ /*
+ * we call this function on all OS, but NOT on FreeBSD or Cygwin,
+ * because it crashes with no reason (bug in Perl?)
+ */
if (perl_quit_or_upgrade)
PERL_SYS_TERM ();
#endif