[NeoStats-Devel] [Commits] r2650 - trunk/src

[email protected]
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);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.