On Friday 16 June 2006 12:34, david.suarezdelis@telefonica.es wrote:
Thanks for the reply!
david.suarezdelis@telefonica.es wrote:
By itself, this works and no zombies are left behind, as expected.
I understand the problem... How can I use/call the wrapper from rlm_perl (if it's possible at all)?
See src/modules/rlm_perl.c Function XS_radiusd_radlog this is an wrapper for radlog. Take a look at it and make a wrapper for rad_fork.
A solution is to modify src/main/threads.c, function reap_children(). Right now it loops over known PIDs, and waits on them. Change it to wait for any PID, and then look that PID up in the list. If it's known, it's updated. Otherwise, the status is tossed.
I have glanced at the code, but I'm not sure I can put time to do that at the moment... If there's a way to use the standard wrapper to fork() from rlm_perl, I'll do it... Anyway I'll speak with the bosses about the possibility...
thanks! david
-- Best Regards, Boian Jordanov SNE Orbitel - Next Generation Telecom tel. +359 2 4004 723 tel. +359 2 4004 002