libpurple/dnsquery.c

changeset 24701
777f269be1b0
parent 24390
24755e1e9f11
child 25360
4315bf325ab4
equal deleted inserted replaced
24700:8ed981baeb92 24701:777f269be1b0
343 static void 343 static void
344 purple_dnsquery_resolver_destroy(PurpleDnsQueryResolverProcess *resolver) 344 purple_dnsquery_resolver_destroy(PurpleDnsQueryResolverProcess *resolver)
345 { 345 {
346 g_return_if_fail(resolver != NULL); 346 g_return_if_fail(resolver != NULL);
347 347
348 /* Keep this before the kill() call below. */
349 if (resolver->inpa != 0) {
350 purple_input_remove(resolver->inpa);
351 resolver->inpa = 0;
352 }
353
348 /* 354 /*
349 * We might as well attempt to kill our child process. It really 355 * We might as well attempt to kill our child process. It really
350 * doesn't matter if this fails, because children will expire on 356 * doesn't matter if this fails, because children will expire on
351 * their own after a few seconds. 357 * their own after a few seconds.
352 */ 358 */
353 if (resolver->dns_pid > 0) 359 if (resolver->dns_pid > 0)
354 kill(resolver->dns_pid, SIGKILL); 360 kill(resolver->dns_pid, SIGKILL);
355
356 if (resolver->inpa != 0)
357 purple_input_remove(resolver->inpa);
358 361
359 close(resolver->fd_in); 362 close(resolver->fd_in);
360 close(resolver->fd_out); 363 close(resolver->fd_out);
361 364
362 g_free(resolver); 365 g_free(resolver);

mercurial