At 05:59 PM 12/26/2003 -0500, Christopher Faylor wrote: > >I added strace debugging. You can use that as a clue for what I was >talking about and make it visible if you can't run exim under strace.
I put a try_to_debug(1). Waiting for something to happen. >>Also, while running sysinternals I noticed to the exim daemon still had tty >>related handles, despite setsid(). Ditto for inetd. > >Calling setsid does not automatically eliminate tty handles. > This is what inetd does: if (setsid() == -1) return (-1); if (!noclose && (fd = open(PATH_DEVNULL, O_RDWR, 0)) != -1) { (void)dup2(fd, STDIN_FILENO); (void)dup2(fd, STDOUT_FILENO); (void)dup2(fd, STDERR_FILENO); ******* Before your last changes, strace was showing 160 282749 [main] inetd 34569887 close: close (2) 361 283110 [main] inetd 34569887 fhandler_tty_slave::close: decremented open_fhs 0, archetype usecount 2 198 283308 [main] inetd 34569887 fhandler_tty_slave::close: just exiting because archetype usecount is > 0 163 283471 [main] inetd 34569887 close: 0 = close (2) 160 283631 [main] inetd 34569887 dtable::dup2: 2 = dup2 (3, 2) ******* Now usecount is even higher 159 292878 [main] inetd 1086339 close: close (2) 181 293059 [main] inetd 1086339 fhandler_tty_slave::close: decremented open_fhs 0, archetype usecount 3 313 293372 [main] inetd 1086339 fhandler_tty_slave::close: just returning because archetype usecount is > 0 175 293547 [main] inetd 1086339 close: 0 = close (2) 158 293705 [main] inetd 1086339 dtable::dup2: 2 = dup2 (3, 2) I looked at your latest change in syscalls.cc. It seems to me that setsid should simply call close all the time if (cygheap->ctty) and let close() take care of usecount. Ditto in pinfo::set_ctty where a problem similar to the one you addressed also exists. I don't think that will take care of everything, but I can't follow what's happening when tracing sh -c inetd Usecount jumps by 2 when open_fhs goes up by 1. 179 854139 [main] SH 34649867 fhandler_tty_slave::open: /dev/tty1 opened, incremented open_fhs 3, archetype usecount 4 237 880231 [main] sh 34649867 fhandler_tty_slave::dup: incremented open_fhs 4, archetype usecount 6 The trace is on http://mysite.verizon.net/phumblet/trace if interested. Pierre -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/