/[inetutils]/inetutils/ftpd/server_mode.c
ViewVC logotype

Diff of /inetutils/ftpd/server_mode.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by alainm, Fri Sep 20 21:19:36 2002 UTC revision 1.5 by gray, Tue Oct 11 11:16:13 2005 UTC
# Line 64  check_host (struct sockaddr *sa) Line 64  check_host (struct sockaddr *sa)
64  }  }
65  #endif  #endif
66    
67  static void  static RETSIGTYPE
68  reapchild (int signo)  reapchild (int signo ARG_UNUSED)
69  {  {
70    int save_errno = errno;    int save_errno = errno;
71    
   (void)signo;  
72    while (waitpid (-1, NULL, WNOHANG) > 0)    while (waitpid (-1, NULL, WNOHANG) > 0)
73      ;      ;
74    errno = save_errno;    errno = save_errno;
# Line 89  server_mode (const char *pidfile, struct Line 88  server_mode (const char *pidfile, struct
88        syslog (LOG_ERR, "failed to become a daemon");        syslog (LOG_ERR, "failed to become a daemon");
89        return -1;        return -1;
90      }      }
91    (void) signal (SIGCHLD, reapchild);    signal (SIGCHLD, reapchild);
92    
93    /* Get port for ftp/tcp.  */    /* Get port for ftp/tcp.  */
94    sv = getservbyname ("ftp", "tcp");    sv = getservbyname ("ftp", "tcp");
# Line 147  server_mode (const char *pidfile, struct Line 146  server_mode (const char *pidfile, struct
146        fd = accept (ctl_sock, (struct sockaddr *)phis_addr, &addrlen);        fd = accept (ctl_sock, (struct sockaddr *)phis_addr, &addrlen);
147        if (fork () == 0) /* child */        if (fork () == 0) /* child */
148          {          {
149            (void) dup2 (fd, 0);            dup2 (fd, 0);
150            (void) dup2 (fd, 1);            dup2 (fd, 1);
151            close (ctl_sock);            close (ctl_sock);
152            break;            break;
153          }          }

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26