rlm_perl forking zombies

david.suarezdelis at telefonica.es david.suarezdelis at telefonica.es
Thu Jun 15 17:42:45 CEST 2006


Greetings,

I have FreeRadius 1.1.0 working on Debian 3.1 on an Intel box.

When using rlm_perl, the authenticate() sub does its job and, eventually,
calls a method to send an email to a certain address before returning OK.

The problem is that this SMTP connection can take longer than wished,
therefore I am forking the SMTP call, so the authentication process can go
on as normal.

The problem with this solution, though, is that--as I cannot wait for the
SMTP connection to be done--the process is left as a zombie. I have,
therefore, used a double forking solution, where the grandfather returns
inmediately to the authorize() function, and the child forks again, and
waits (waitpid()) for the new (grand)child to do the job, so no zombie is
created.

By itself, this works and no zombies are left behind, as expected. However,
when used with FreeRadius, zombies are left behind. I have tried to
'IGNORE' SIGCHLD, to use reaper function (and all the other tricks in
perlipc(1)) to no avail (I am even using Proc::Fork to simplify things so I
am sure I am doing things properly).

Is this a problem with my calling this inside the authenticate() function,
or with rlm_perl, or...? Is this a problem with 1.1.0 and solved with a
later version?

Any help appreciated.

thanks a lot!
david

PS- Perl is version 5.8.4 compiled with threads and ithreads

PPS- has the RLM_PERL module documentation's been improved in more recent
versions, by any chance?


___________________________________________________________________________

Este mensaje se dirige exclusivamente a su destinatario y puede contener
información privilegiada o confidencial. Si no es vd. el destinatario
indicado, queda notificado de que la lectura, utilización, divulgación y/o
copia sin autorización está prohibida en virtud de la legislación vigente.
Si ha recibido este mensaje por error, le rogamos que nos lo comunique
inmediatamente por esta misma vía y proceda a su destrucción.

El correo electrónico vía Internet no permite asegurar la confidencialidad
de los mensajes que se transmiten ni su integridad o correcta recepción.
Telefónica no asume ninguna responsabilidad por estas circunstancias.


This message is intended exclusively for its addressee and may contain
information that is CONFIDENTIAL and protected by a professional privilege
or whose disclosure is prohibited by law.If you are not the intended
recipient you are hereby notified that any read, dissemination, copy or
disclosure of this communication is strictly prohibited by law. If this
message has been received in error, please immediately notify us via e-mail
and delete it.

Internet e-mail neither guarantees the confidentiality nor the integrity or
proper receipt of the messages sent. Telefónica does not assume any
liability for those circumstances.
___________________________________________________________________________





More information about the Freeradius-Users mailing list