Bugs item #1652318, was opened at 2007-02-05 19:36
Message generated for change (Settings changed) made by lingforum
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=100235&aid=1652318&group_id=235

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: 2.0.0 beta 6
>Status: Closed
Resolution: None
Priority: 5
Private: No
Submitted By: lingforum (lingforum)
Assigned to: Nobody/Anonymous (nobody)
Summary: dns child process becomes zombie (defunct process)

Initial Comment:
I am using gaim libraries to build one c++ application (in Linux 
2.6.15-1.2054_FC5smp). In this, the child process is getting created for 
resolving dns queries. After resolving the query, actually it has to exit by 
itself after some time(40 seconds) or it will be killed by the parent process. 
But this is not happening here.

I tried to debug the same, what I understood is, "select" is blocking for the 
read events on the pipe, and it is not getting timed out after the timeout (40 
seconds). It continuously blocking.

But, actually the parent process sending the SIGKILL signal to this process. 
But it is not received by this child, probably it becomes "zombie" before 
receiving the signal itself.

----------------------------------------------------------------------

Comment By: lingforum (lingforum)
Date: 2007-02-09 18:51

Message:
Logged In: YES 
user_id=1710963
Originator: YES

I found the solution.

Actually the child process is not exists until select's time-out period.
Since it got killed by its parent immediately after reading the message
from pipe, well before 40 seconds itself.
Child automatically sent a SIGCHLD signal to its parent. Parent is not
"waiting" for its child to handle its termination.
So, the system resources associated with the child are not getting
released.
Hence the child process appears to be existing (defunct/zombie) but it is
not actually exists.

So the solution for this is to handle the SIGCHLD signal in the parent and
the signal handler should do "wait" for its child, in order to release the
associated system resources.

----------------------------------------------------------------------

Comment By: lingforum (lingforum)
Date: 2007-02-06 16:03

Message:
Logged In: YES 
user_id=1710963
Originator: YES

I have upgraded gaim code to the latest release version gaim-2.0.0beta6.
Still the problem exists.

----------------------------------------------------------------------

Comment By: lingforum (lingforum)
Date: 2007-02-05 19:46

Message:
Logged In: YES 
user_id=1710963
Originator: YES

The gaim code version is gaim-2.0.0beta5

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=100235&aid=1652318&group_id=235

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Gaim-bugs mailing list
Gaim-bugs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gaim-bugs

Reply via email to