net-mgmt/pmacct port

John Von Essen john at essenz.com
Thu Jun 23 14:12:34 GMT 2005


I was playing around with this when I noticed that over time, zombie
processes weren't being cleaned out. So after a few days, there were a
couple 100 zombie processes. This ONLY effects 4.X FreeBSD. 5.X works
fine.

I contacted the author of pmacct, and we were able to fix the bug. The
port is version 0.8.5. The current version available for download is
0.8.7. And in a week or two, 0.8.8 will be released. The author of pmacct
(Paolo) did two things. First, he created a 0.8.5 patch for right now. And
he has also patched the 0.8.8 code which will be released shortly.

So we can either update the existing port with the patch, or just wait
till 0.8.8 is released, and just modify the port version.

I have attached the 0.8.5 patch just in case. Let me know.

Thanks
John
-------------- next part --------------
Common subdirectories: pmacct-0.8.5/docs and pmacct-0.8.5p1/docs
Common subdirectories: pmacct-0.8.5/examples and pmacct-0.8.5p1/examples
diff -u pmacct-0.8.5/imt_plugin.c pmacct-0.8.5p1/imt_plugin.c
--- pmacct-0.8.5/imt_plugin.c	Thu Mar 31 09:59:07 2005
+++ pmacct-0.8.5p1/imt_plugin.c	Thu Jun 23 05:27:04 2005
@@ -122,7 +122,8 @@
 
   signal(SIGHUP, reload); /* handles reopening of syslog channel */
   signal(SIGINT, exit_now); /* exit lane */
-  signal(SIGCHLD, SIG_IGN); 
+  // signal(SIGCHLD, SIG_IGN); 
+  signal(SIGCHLD, ignore_falling_child); 
 
   /* building a server for interrogations by clients */
   sd = build_query_server(config.imt_plugin_path);
Common subdirectories: pmacct-0.8.5/include and pmacct-0.8.5p1/include
diff -u pmacct-0.8.5/mysql_plugin.c pmacct-0.8.5p1/mysql_plugin.c
--- pmacct-0.8.5/mysql_plugin.c	Tue May  3 12:33:26 2005
+++ pmacct-0.8.5p1/mysql_plugin.c	Thu Jun 23 05:22:10 2005
@@ -69,7 +69,8 @@
   /* signal handling */
   signal(SIGINT, MY_exit_gracefully);
   signal(SIGHUP, reload); /* handles reopening of syslog channel */
-  signal(SIGCHLD, SIG_IGN); 
+  // signal(SIGCHLD, SIG_IGN); 
+  signal(SIGCHLD, ignore_falling_child); 
 
   if (!config.sql_refresh_time)
     config.sql_refresh_time = DEFAULT_DB_REFRESH_TIME;
diff -u pmacct-0.8.5/pgsql_plugin.c pmacct-0.8.5p1/pgsql_plugin.c
--- pmacct-0.8.5/pgsql_plugin.c	Tue May  3 12:34:03 2005
+++ pmacct-0.8.5p1/pgsql_plugin.c	Thu Jun 23 05:27:46 2005
@@ -77,7 +77,8 @@
   /* signal handling */
   signal(SIGINT, PG_exit_gracefully);
   signal(SIGHUP, reload); /* handles reopening of syslog channel */
-  signal(SIGCHLD, SIG_IGN); 
+  // signal(SIGCHLD, SIG_IGN); 
+  signal(SIGCHLD, ignore_falling_child); 
 
   if (!config.sql_refresh_time)
     config.sql_refresh_time = DEFAULT_DB_REFRESH_TIME;
Common subdirectories: pmacct-0.8.5/sql and pmacct-0.8.5p1/sql


More information about the freebsd-ports mailing list