From 42b1d0ae3f96728537de4d02613a92643b01e03d Mon Sep 17 00:00:00 2001 From: mar Date: Fri, 25 Aug 1989 14:41:09 +0000 Subject: [PATCH] new kerberos libraries; always get children's status to avoid zombies changed client structure --- server/mr_main.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/server/mr_main.c b/server/mr_main.c index 2d76d215..6c1b018d 100644 --- a/server/mr_main.c +++ b/server/mr_main.c @@ -107,7 +107,7 @@ main(argc, argv) gdb_debug(0); /* this can be patched, if necessary, to enable */ /* GDB level debugging .. */ krb_realm = malloc(REALM_SZ); - get_krbrlm(krb_realm, 1); + krb_get_lrealm(krb_realm, 1); /* * Database initialization. Only init if database should be open. @@ -189,7 +189,8 @@ main(argc, argv) (fd_set *)NULL, (struct timeval *)NULL); if (status == -1) { - com_err(whoami, errno, " error from op_select"); + if (errno != EINTR) + com_err(whoami, errno, " error from op_select"); continue; } else if (status != -2) { com_err(whoami, 0, " wrong return from op_select_any"); @@ -327,7 +328,7 @@ new_connection() cp->con = newconn; cp->id = counter++; cp->args = NULL; - cp->clname = NULL; + cp->clname[0] = NULL; cp->reply.sms_argv = NULL; cp->first = NULL; cp->last = NULL; @@ -476,12 +477,8 @@ void reapchild() union wait status; int pid; - if (takedown || dormant == ASLEEP) - return; while ((pid = wait3(&status, WNOHANG, (struct rusage *)0)) > 0) { - if (status.w_termsig == 0 && status.w_retcode == 0) - com_err(whoami, 0, "child exited successfully"); - else + if (!takedown && (status.w_termsig != 0 || status.w_retcode != 0)) com_err(whoami, 0, "%d: child exits with signal %d status %d", pid, status.w_termsig, status.w_retcode); } -- 2.45.2