# HG changeset patch # User Evan Schoenberg # Date 1172447454 0 # Node ID 4530f15fe5af6332614033340492ceb10d6aa856 # Parent 7ac07c5fb1c230873477cd05daab0f59fb6f07d5 Patch from Graham Booker which ensures that a process forked by dnsserv cleans up afterwards, calling waitpid() to make sure no zombies are left over. diff -r 7ac07c5fb1c2 -r 4530f15fe5af libpurple/dnssrv.c --- a/libpurple/dnssrv.c Sun Feb 25 23:02:25 2007 +0000 +++ b/libpurple/dnssrv.c Sun Feb 25 23:50:54 2007 +0000 @@ -67,6 +67,8 @@ char *query; char *error_message; GSList *results; +#else + pid_t pid; #endif }; @@ -188,6 +190,7 @@ GaimSrvResponse *tmp; int i; GaimSrvCallback cb = query_data->cb; + int status; read(source, &size, sizeof(int)); gaim_debug_info("dnssrv","found %d SRV entries\n", size); @@ -197,6 +200,7 @@ } cb(res, size, query_data->extradata); + waitpid(query_data->pid, &status, 0); gaim_srv_cancel(query_data); } @@ -344,6 +348,7 @@ query_data = g_new0(GaimSrvQueryData, 1); query_data->cb = cb; query_data->extradata = extradata; + query_data->pid = pid; query_data->handle = gaim_input_add(out[0], GAIM_INPUT_READ, resolved, query_data); g_free(query);