- # adds glib iteration inside ecore main loop
- ecore.timer_add(0.001, self.__glib_iteration_when_idle)
+ # 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.signal(signal.SIGCHLD, signal.SIG_IGN)