On 05/04/07 11:51, Klaus Darilion wrote:
Daniel-Constantin Mierla wrote:
Hello,
there are several cases which may get to blocking of openser stop,
but should kill itself after 60sec. That is a define, maybe should be
moved as config parameter.
One possibility is caused by syslog -- syslog does synchronized writing,
I use asynchronous syslog and also have the problem ...
it is an internal lock -- it is recommended not to use syslog() in
signal handlers. Writing asynchronous seems to be pooling of messages.
Just google "syslog() deadlock signal handler"
Cheers,
Daniel
regards
klaus
if it was writing when the kill is done will get locked by next log
messages in destroy functions. It is hard to avoid it. Other
possibility is from destroy functions, which try to aquire a lock set
when the signal was received. Solution is to do destroy functions in
non-blocking mode.
Cheers,
Daniel
On 05/04/07 02:14, Ovidiu Sas wrote:
Hi Juha,
On openser stop, the attendant process will receive the SIGTERM and
it will dispatch the signal to it's child. The two hanging processes
are child of a child and are not visible to the dispatcher.
Compile openser in debug mode, attach to the child with strace (strace
-p PID) and stop openser. Check if the SIGTERM signal is propagated
down to the two child and processes and check how the signal is
handled (and combine this information with the output of the debug
log). Maybe this will reveal why the two processes are still hanging.
Hope this helps,
Ovidiu Sas
On 5/3/07, Juha Heinanen <[EMAIL PROTECTED]> wrote:
Ovidiu Sas writes:
> Use 'openserctl ps' to identify the processes by pid, stop
openser and
> then check which process is hanging.
the two remaining ones are:
Process:: ID=0 PID=10478 Type=attendant
Process:: ID=2 PID=10480 Type=receiver child=0 sock=
192.98.101.10:5090
and the defunc ones are hanging from the latter:
root 10478 1 0 22:25 ? 00:00:00 /usr/sbin/openser
root 10480 10478 0 22:25 ? 00:00:00 \_ /usr/sbin/openser
root 10481 10480 0 22:25 ? 00:00:00 \_ [openser]
<defunct>
root 10482 10480 0 22:25 ? 00:00:00 \_ [openser]
<defunct>
sometimes init script stop doesn't kill any of the processes, but pid
file does get removed.
as i said, init script works flawlessly for me if i disable presence.
i know that i can play games with killall, etc., but i would rather
like
to solve this problem, since i don't have any other applications
either
where games are necessary (mysql, radius, etc.).
-- juha
_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel
_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel
_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel