--- main.c.orig	2005-10-26 06:08:25.000000000 +0800
+++ main.c	2008-02-17 22:45:29.000000000 +0800
@@ -335,9 +335,10 @@
 
    while (!quit) {
       if (zombie_count) {
-         zombie_count--;
-         chldpid = wait(NULL);
-         machmgr_handle_death(chldpid);
+         if ((chldpid = waitpid(-1, NULL, WNOHANG)) > 0) {
+            zombie_count--;
+            machmgr_handle_death(chldpid);
+         }
       }
 
       machmgr_update();