(Crossposted to freeradius-users due to severity of problem and
triviality of fix)
This should stop FreeRadius from taking all the processes
is can reach with it, while still allowing it to exit cleanly.
(If the commented out kill(0) is used, it doesn't die
properly, and do_exit is never used) This works from here.
No idea if it breaks anything, the code block's comments talk
about
something absolutely horrible happening, but this point is hit
even in the normal, safe shutdown situation.
In fact, to get to this block, do_exit must be set to 1 or 2, so
presumably the 'if(do_exit)' code can take care of it either way,
and this entire test is unnecessary. Of course, I haven't looked
closely, so maybe in threaded mode the do_exit code isn't
sufficient?
diff -ru 2/freeradius-snapshot-20021026/src/main/radiusd.c
freeradius-snapshot-20021026/src/main/radiusd.c
--- 2/freeradius-snapshot-20021026/src/main/radiusd.c 2002-10-25
23:46:44.000000000 +1000
+++ freeradius-snapshot-20021026/src/main/radiusd.c 2002-10-28
14:33:24.000000000 +1100
@@ -2388,7 +2388,7 @@
* Kill all of the processes in the current
* process group.
*/
- kill(-1, SIGTERM);
+// kill(0, SIGTERM);
}
}
!!! end of patch.
--
=========================================================
Paul "TBBle" Hampson
Grand Poobah, Bubblesworth Pty Ltd (ABN: 51 095 284 361)
[EMAIL PROTECTED]
No matter where you go, there you are.
-- Buckaroo Banzai
---------------------------------------------------------
Random signature generator 3.0 by Paul "TBBle" Hampson
=========================================================
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html