mirror of
https://github.com/irssi/irssi.git
synced 2026-08-17 23:52:22 +02:00
Added API version check between perl module and perl libs.
perl_scripts_deinit() now destroys all dynamically loaded libraries (Irssi, Irssi::Irc, Irssi::UI too) so /UNLOAD perl should now release more memory, this also makes /unload perl, /load perl work again. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1859 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
476b5ec863
commit
a5b32b70a7
12 changed files with 81 additions and 6 deletions
|
|
@ -7,7 +7,7 @@ package Irssi::UI;
|
|||
use strict;
|
||||
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
|
||||
|
||||
$VERSION = "0.20";
|
||||
$VERSION = "0.8";
|
||||
|
||||
require Exporter;
|
||||
require DynaLoader;
|
||||
|
|
|
|||
|
|
@ -104,6 +104,12 @@ static PLAIN_OBJECT_INIT_REC fe_plains[] = {
|
|||
{ NULL, NULL }
|
||||
};
|
||||
|
||||
static void sig_deinit(void)
|
||||
{
|
||||
signal_remove("script destroy", (SIGNAL_FUNC) sig_script_destroy);
|
||||
signal_remove("perl scripts deinit", (SIGNAL_FUNC) sig_deinit);
|
||||
}
|
||||
|
||||
MODULE = Irssi::UI PACKAGE = Irssi::UI
|
||||
|
||||
PROTOTYPES: ENABLE
|
||||
|
|
@ -114,11 +120,13 @@ PREINIT:
|
|||
static int initialized = FALSE;
|
||||
CODE:
|
||||
if (initialized) return;
|
||||
perl_api_version_check("Irssi::UI");
|
||||
initialized = TRUE;
|
||||
|
||||
irssi_add_plains(fe_plains);
|
||||
|
||||
signal_add("script destroy", (SIGNAL_FUNC) sig_script_destroy);
|
||||
signal_add("perl scripts deinit", (SIGNAL_FUNC) sig_deinit);
|
||||
|
||||
|
||||
INCLUDE: Themes.xs
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue