--- rxvt-unicode/src/rxvtd.C 2007/11/17 07:28:00 1.36 +++ rxvt-unicode/src/rxvtd.C 2007/12/04 14:50:43 1.40 @@ -48,10 +48,11 @@ int getfd (int remote_fd); server (int fd) - : read_ev (this, &server::read_cb), - log_cb (this, &server::log_msg), - getfd_cb (this, &server::getfd) + : read_ev (this, &server::read_cb) { + callback_set (log_cb , this, server, log_msg); + callback_set (getfd_cb, this, server, getfd); + this->fd = fd; fcntl (fd, F_SETFD, FD_CLOEXEC); fcntl (fd, F_SETFL, 0); read_ev.start (fd, ev::READ); @@ -272,9 +273,11 @@ } else if (pid > 0) _exit (EXIT_SUCCESS); + + ev_default_fork (); } - ev::ev_loop (0); + ev_loop (0); return EXIT_SUCCESS; }