From d5d3fd1f377ae15fa794ad3df6a32c4a02dc7eeb Mon Sep 17 00:00:00 2001 From: jongfoster Date: Fri, 16 Nov 2001 00:47:43 +0000 Subject: [PATCH] Changing the tty-disconnection code to use setsid(). --- jcc.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/jcc.c b/jcc.c index 8db61952..e48ef4bf 100644 --- a/jcc.c +++ b/jcc.c @@ -1,4 +1,4 @@ -const char jcc_rcs[] = "$Id: jcc.c,v 1.55 2001/11/13 20:14:53 jongfoster Exp $"; +const char jcc_rcs[] = "$Id: jcc.c,v 1.56 2001/11/13 20:20:54 jongfoster Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/jcc.c,v $ @@ -33,6 +33,9 @@ const char jcc_rcs[] = "$Id: jcc.c,v 1.55 2001/11/13 20:14:53 jongfoster Exp $"; * * Revisions : * $Log: jcc.c,v $ + * Revision 1.56 2001/11/13 20:20:54 jongfoster + * Tabs->spaces, fixing a bug with missing {} around an if() + * * Revision 1.55 2001/11/13 20:14:53 jongfoster * Patch for FreeBSD setpgrp() as suggested by Alexander Lazic * @@ -1481,7 +1484,9 @@ int main(int argc, const char *argv[]) #if defined(unix) { pid_t pid = 0; +#if 0 int fd; +#endif /* * we make us a real daemon @@ -1512,11 +1517,15 @@ int main(int argc, const char *argv[]) exit( 0 ); } /* child */ +#if 1 + /* Should be more portable, but not as well tested */ + setsid(); +#else /* !1 */ #ifdef __FreeBSD__ setpgrp(0,0); -#else +#else /* ndef __FreeBSD__ */ setpgrp(); -#endif +#endif /* ndef __FreeBSD__ */ fd = open("/dev/tty", O_RDONLY); if ( fd ) { @@ -1524,6 +1533,7 @@ int main(int argc, const char *argv[]) ioctl( fd, TIOCNOTTY,0 ); close ( fd ); } +#endif /* !1 */ /* should close stderr (fd 2) here too, but the test for existence ** and load config file is done in listen_loop() and puts ** some messages on stderr there. -- 2.39.2