what is the child process fork by init_libpurple in nullclient.c?

Ethan Blanton elb at pidgin.im
Fri Nov 2 10:20:36 EDT 2007

sirtoozee spake unto us the following wisdom:
> I noticed that there are some child process showing in my konsole like below:
> root      4818  4811  0 19:46 pts/1    00:00:00 [libpurple] <defunct>
> when nullclient.c called the init_libpurple(), I just want to know
> what, why and how created them.

First of all, *don't* run a libpurple client as root.  You should
never run any more software than required as root, and particularly
not software which interacts with other hosts over the network.

These are DNS helper children.  The nullclient example has no code to
reap children, so when DNS helpers exit, they leave behind zombies.
You can create a signal handler for SIGCHLD which reaps these
children with wait(), or you can set SIGCHLD to SIG_IGN.

> And a guy, a pidgin fans in China.P.R, paid some attention to the
> source code said it handled the DNS stuff. Really?
> What`s more, the nullclient.c often show the ASSERT info just like
> shown as below:
> ** (process:4811): CRITICAL **: x509_tls_peers_init: assertion `ret == 0' failed
> How to fix it, thanks a lot ^_^

Either fix the bug (which might be that it should not print that
error), or use g_log_set_handler to suppress such errors.


The laws that forbid the carrying of arms are laws [that have no remedy
for evils].  They disarm only those who are neither inclined nor
determined to commit crimes.
		-- Cesare Beccaria, "On Crimes and Punishments", 1764
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://pidgin.im/pipermail/devel/attachments/20071102/26266b7e/attachment.sig>

More information about the Devel mailing list