im.pidgin.pidgin: 18ccd2ba2c1c9b7fa3dfedf72b48b3bd01c3a7c4

resiak at soc.pidgin.im resiak at soc.pidgin.im
Fri Nov 2 09:35:37 EDT 2007


-----------------------------------------------------------------
Revision: 18ccd2ba2c1c9b7fa3dfedf72b48b3bd01c3a7c4
Ancestor: fc4350a15fdd1f51b4496568afaa83355e18b714
Author: resiak at soc.pidgin.im
Date: 2007-11-02T13:31:01
Branch: im.pidgin.pidgin

Modified files:
        libpurple/example/nullclient.c

ChangeLog: 

A pidgin fans in Great Britain.U.K thinks that nullclient should explicitly
ignore SIGCHLD to avoid defunct dns resolution children. Really?

-------------- next part --------------
============================================================
--- libpurple/example/nullclient.c	4d8d5ed0f7c083c71823f74aa948e7a2a47a97e5
+++ libpurple/example/nullclient.c	2ae844e0fdc33d01518496374b14e9858e0a99ad
@@ -269,6 +269,13 @@ int main()
 	PurpleAccount *account;
 	PurpleSavedStatus *status;
 
+	/* libpurple's built-in DNS resolution forks processes to perform
+	 * blocking lookups without blocking the main process.  It does not
+	 * handle SIGCHLD itself, so if the UI does not you quickly get an army
+	 * of zombie subprocesses marching around.
+	 */
+	signal(SIGCHLD, SIG_IGN);
+
 	init_libpurple();
 
 	printf("libpurple initialized.\n");


More information about the Commits mailing list