[NeoStats-Devel] [Commits] r2650 - trunk/src
[email protected] Thu, 7 Jul 2005 23:36:43 +1000
Newsgroups
gmane.comp.neostats.devel
Message-ID
<[email protected] >
Author: Fish
Date: Thu Jul 7 21:36:36 2005
New Revision: 2650
Modified:
trunk/src/NeoStats.pm
trunk/src/perl.c
Log:
Hope your not in London Mark\!
Modified: trunk/src/NeoStats.pm
==============================================================================
--- trunk/src/NeoStats.pm (original)
+++ trunk/src/NeoStats.pm Thu Jul 7 21:36:36 2005
@@ -18,13 +18,13 @@
qw(get_info get_prefs emit_print nickcmp),
qw(get_list context_info strip_code),
qw(PRI_HIGHEST PRI_HIGH PRI_NORM PRI_LOW),
- qw(PRI_LOWEST EAT_NONE EAT_NeoStats EAT_PLUGIN),
- qw(EAT_ALL KEEP REMOVE),
+ qw(PRI_LOWEST EAT_NONE EAT_NeoStats NS_FAILURE),
+ qw(NS_SUCCESS KEEP REMOVE),
],
constants => [
qw(PRI_HIGHEST PRI_HIGH PRI_NORM PRI_LOW),
qw(PRI_LOWEST EAT_NONE EAT_NeoStats),
- qw(EAT_PLUGIN EAT_ALL FD_READ FD_WRITE),
+ qw(NS_FAILURE NS_SUCCESS FD_READ FD_WRITE),
qw(FD_EXCEPTION FD_NOTSOCKET KEEP REMOVE),
],
hooks => [
@@ -515,15 +515,11 @@
}
}
- if( exists $pkg_info->{gui_entry} ) {
- plugingui_remove( $pkg_info->{gui_entry} );
- }
-
Symbol::delete_package( $package );
delete $scripts{$package};
- return NeoStats::EAT_ALL;
+ return NeoStats::NS_SUCCESS;
} else {
- return NeoStats::EAT_NONE;
+ return NeoStats::NS_FAILURE;
}
}
@@ -538,14 +534,14 @@
unload( $file );
}
load( $fullpath );
- return NeoStats::EAT_ALL;
+ return NeoStats::NS_SUCCESS;
}
sub unload_all {
for my $package ( keys %scripts ) {
unload( $scripts{$package}->{filename} );
}
- return NeoStats::EAT_ALL;
+ return NeoStats::NS_SUCCESS;
}
# sub auto_load {
Modified: trunk/src/perl.c
==============================================================================
--- trunk/src/perl.c (original)
+++ trunk/src/perl.c Thu Jul 7 21:36:36 2005
@@ -735,6 +735,10 @@
newCONSTSUB (stash, "EVENT_ADDBAN", newSViv (EVENT_ADDBAN));
newCONSTSUB (stash, "EVENT_DELBAN", newSViv (EVENT_DELBAN));
+
+ newCONSTSUB (stash, "NS_SUCCESS", newSViv (NS_SUCCESS));
+ newCONSTSUB (stash, "NS_FAILURE", newSViv (NS_FAILURE));
+
}
int
@@ -781,6 +785,7 @@
strlcpy(mod->pm->filename, filename, MAXPATH);
mod->pm->my_perl = perl_alloc ();
PL_perl_destruct_level = 1;
+ PERL_SET_CONTEXT((PMI *)mod->pm->my_perl);
perl_construct (mod->pm->my_perl);
perl_parse (mod->pm->my_perl, xs_init, 4, perl_args, NULL);
@@ -834,7 +839,9 @@
}
void unload_perlmod(Module *mod) {
-
+ PERL_SET_CONTEXT((PMI *)mod->pm->my_perl);
+ /* because segv handler doesn't handle perl well yet */
+ RESET_RUN_LEVEL()
perl_destruct ((PMI *)mod->pm->my_perl);
perl_free ((PMI *)mod->pm->my_perl);