Diff for /qemu/slirp/misc.c between versions 1.1.1.9 and 1.1.1.10

version 1.1.1.9, 2018/04/24 18:40:50 version 1.1.1.10, 2018/04/24 19:02:48
Line 119  fork_exec(struct socket *so, const char  Line 119  fork_exec(struct socket *so, const char 
         char *bptr;          char *bptr;
         const char *curarg;          const char *curarg;
         int c, i, ret;          int c, i, ret;
           pid_t pid;
   
         DEBUG_CALL("fork_exec");          DEBUG_CALL("fork_exec");
         DEBUG_ARG("so = %lx", (long)so);          DEBUG_ARG("so = %lx", (long)so);
Line 142  fork_exec(struct socket *so, const char  Line 143  fork_exec(struct socket *so, const char 
                 }                  }
         }          }
   
         switch(fork()) {          pid = fork();
           switch(pid) {
          case -1:           case -1:
                 lprint("Error: fork failed: %s\n", strerror(errno));                  lprint("Error: fork failed: %s\n", strerror(errno));
                 close(s);                  close(s);
Line 151  fork_exec(struct socket *so, const char  Line 153  fork_exec(struct socket *so, const char 
                 return 0;                  return 0;
   
          case 0:           case 0:
                   setsid();
   
                 /* Set the DISPLAY */                  /* Set the DISPLAY */
                 if (do_pty == 2) {                  if (do_pty == 2) {
                         (void) close(master);                          (void) close(master);
 #ifdef TIOCSCTTY /* XXXXX */  #ifdef TIOCSCTTY /* XXXXX */
                         (void) setsid();  
                         ioctl(s, TIOCSCTTY, (char *)NULL);                          ioctl(s, TIOCSCTTY, (char *)NULL);
 #endif  #endif
                 } else {                  } else {
Line 206  fork_exec(struct socket *so, const char  Line 209  fork_exec(struct socket *so, const char 
                 exit(1);                  exit(1);
   
          default:           default:
                   qemu_add_child_watch(pid);
                 if (do_pty == 2) {                  if (do_pty == 2) {
                         close(s);                          close(s);
                         so->s = master;                          so->s = master;
Line 403  void slirp_connection_info(Slirp *slirp, Line 407  void slirp_connection_info(Slirp *slirp,
                        inet_ntoa(dst_addr), ntohs(dst_port),                         inet_ntoa(dst_addr), ntohs(dst_port),
                        so->so_rcv.sb_cc, so->so_snd.sb_cc);                         so->so_rcv.sb_cc, so->so_snd.sb_cc);
     }      }
   
       for (so = slirp->icmp.so_next; so != &slirp->icmp; so = so->so_next) {
           n = snprintf(buf, sizeof(buf), "  ICMP[%d sec]",
                        (so->so_expire - curtime) / 1000);
           src.sin_addr = so->so_laddr;
           dst_addr = so->so_faddr;
           memset(&buf[n], ' ', 19 - n);
           buf[19] = 0;
           monitor_printf(mon, "%s %3d %15s  -    ", buf, so->s,
                          src.sin_addr.s_addr ? inet_ntoa(src.sin_addr) : "*");
           monitor_printf(mon, "%15s  -    %5d %5d\n", inet_ntoa(dst_addr),
                          so->so_rcv.sb_cc, so->so_snd.sb_cc);
       }
 }  }

Removed from v.1.1.1.9  
changed lines
  Added in v.1.1.1.10


unix.superglobalmegacorp.com