Index: head/usr.sbin/ypldap/ldapclient.c =================================================================== --- head/usr.sbin/ypldap/ldapclient.c +++ head/usr.sbin/ypldap/ldapclient.c @@ -172,7 +172,7 @@ fatalx("unknown event"); if (events & EV_READ) { - if ((n = imsg_read(ibuf)) == -1) + if ((n = imsg_read(ibuf)) == -1 && errno != EAGAIN) fatal("imsg_read error"); if (n == 0) shut = 1; @@ -275,7 +275,7 @@ fatalx("unknown event"); if (events & EV_READ) { - if ((n = imsg_read(ibuf)) == -1) + if ((n = imsg_read(ibuf)) == -1 && errno != EAGAIN) fatal("imsg_read error"); if (n == 0) shut = 1; @@ -377,8 +377,10 @@ bzero(&env, sizeof(env)); TAILQ_INIT(&env.sc_idms); - if ((pw = getpwnam(YPLDAP_USER)) == NULL) + if ((pw = getpwnam(YPLDAP_USER)) == NULL) { + printf("ldapclient.c error\n"); fatal("getpwnam"); + } if (socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC, pipe_dns) == -1) fatal("socketpair"); Index: head/usr.sbin/ypldap/ypldap.c =================================================================== --- head/usr.sbin/ypldap/ypldap.c +++ head/usr.sbin/ypldap/ypldap.c @@ -361,7 +361,7 @@ fatalx("unknown event"); if (events & EV_READ) { - if ((n = imsg_read(ibuf)) == -1) + if ((n = imsg_read(ibuf)) == -1 && errno != EAGAIN) fatal("imsg_read error"); if (n == 0) shut = 1; Index: head/usr.sbin/ypldap/ypldap_dns.c =================================================================== --- head/usr.sbin/ypldap/ypldap_dns.c +++ head/usr.sbin/ypldap/ypldap_dns.c @@ -140,7 +140,7 @@ fatalx("unknown event"); if (events & EV_READ) { - if ((n = imsg_read(ibuf)) == -1) + if ((n = imsg_read(ibuf)) == -1 && errno != EAGAIN) fatal("imsg_read error"); if (n == 0) shut = 1;