From owner-freebsd-hackers Wed Jun 3 10:19:47 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id KAA19563 for freebsd-hackers-outgoing; Wed, 3 Jun 1998 10:19:47 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from gate.lustig.com (gate.lustig.com [205.246.2.242]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id KAA19460 for ; Wed, 3 Jun 1998 10:19:29 -0700 (PDT) (envelope-from barry@lustig.com) Received: (qmail 18427 invoked from network); 3 Jun 1998 17:18:41 -0000 Received: from devious.lustig.com (205.246.2.244) by gate.lustig.com with SMTP; 3 Jun 1998 17:18:41 -0000 Received: (qmail 17141 invoked by uid 21); 3 Jun 1998 17:20:00 -0000 Message-ID: <19980603171959.17140.qmail@devious.lustig.com> Content-Type: text/plain MIME-Version: 1.0 (NeXT Mail 4.2mach v148) X-Nextstep-Mailer: Mail 4.2mach (Enhance 2.1) Received: by NeXT.Mailer (1.148.RR) From: Barry Lustig Date: Wed, 3 Jun 98 13:19:58 -0400 To: freebsd-hackers@FreeBSD.ORG Subject: Code Logic Question in 2.2 RELENG Reply-To: barry@lustig.com X-Organizations: Barry Lustig & Associates, Inc. Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Does it make sense to have portmap fail when svc_run returns or would it make more sense to try and recover and restart the loop? I've had portmap abort a few times now, and the only easy remedy is a reboot of the machine. If I try and restart portmap, I have to find all of the programs that registered with it and restart them. Any suggestions? By the way, this is from RELENG_2_2 cvsupped yesterday. Thanks, barry This is from portmap.c: /* additional initializations */ check_startup(); (void)signal(SIGCHLD, reap); svc_run(); syslog(LOG_ERR, "svc_run returned unexpectedly"); abort(); This is from svc_run.c in libc: void svc_run() { #ifdef FD_SETSIZE fd_set readfds; #else int readfds; #endif /* def FD_SETSIZE */ for (;;) { #ifdef FD_SETSIZE readfds = svc_fdset; #else readfds = svc_fds; #endif /* def FD_SETSIZE */ switch (select(_rpc_dtablesize(), &readfds, NULL, NULL, (struct timeval *)0)) { case -1: if (errno == EINTR) { continue; } perror("svc_run: - select failed"); return; case 0: continue; default: svc_getreqset(&readfds); } } } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message