# HG changeset patch # User Timo Sirainen # Date 1186488566 -10800 # Node ID 5cf1c1ae7dd8f920a276872721e5aa8b388b5ad1 # Parent ad1b948c5fa2bf5549183f27eae66adb3bd4385b waitpid() fix diff -r ad1b948c5fa2 -r 5cf1c1ae7dd8 src/auth/mech-winbind.c --- a/src/auth/mech-winbind.c Tue Aug 07 14:54:55 2007 +0300 +++ b/src/auth/mech-winbind.c Tue Aug 07 15:09:26 2007 +0300 @@ -62,13 +62,13 @@ static void winbind_wait_pid(struct winbind_helper *winbind) { - int status; + int status, ret; if (winbind->pid == -1) return; - if (waitpid(winbind->pid, &status, WNOHANG) == -1) { - if (errno != ECHILD && errno != EINTR) + if ((ret = waitpid(winbind->pid, &status, WNOHANG)) <= 0) { + if (ret < 0 && errno != ECHILD && errno != EINTR) i_error("waitpid() failed: %m"); return; }