gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r29813 - msh/src


From: gnunet
Subject: [GNUnet-SVN] r29813 - msh/src
Date: Thu, 3 Oct 2013 12:01:16 +0200

Author: harsha
Date: 2013-10-03 12:01:15 +0200 (Thu, 03 Oct 2013)
New Revision: 29813

Modified:
   msh/src/test_pty.c
Log:
- let the child become the session leader


Modified: msh/src/test_pty.c
===================================================================
--- msh/src/test_pty.c  2013-10-03 00:57:44 UTC (rev 29812)
+++ msh/src/test_pty.c  2013-10-03 10:01:15 UTC (rev 29813)
@@ -196,13 +196,7 @@
     GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "ptsname");
     return 1;
   }
-  LOG_DEBUG ("Opening slave PTY: %s\n", ptysname);
-  ptys = open (ptysname, O_RDWR);
-  if (-1 == ptys)
-  {
-    GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "open");
-    return 1;
-  }
+  LOG_DEBUG ("Slave PTY: %s\n", ptysname);
   shc_chld =
       GNUNET_SIGNAL_handler_install (GNUNET_SIGCHLD, &sighandler_child_death);
   fret = fork();
@@ -217,16 +211,21 @@
     pid_t mypid;
     
     mypid = getpid ();
+    ptys = open (ptysname, O_RDWR);
+    if (-1 == ptys)
+    {
+      GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "open");
+      return 1;
+    }
     tcgetattr (ptys, &settings);
+    cfmakeraw (&settings);
     settings.c_lflag &= ~(ECHO);
     settings.c_lflag |= (ICANON | ISIG);
     tcsetattr (ptys, TCSANOW, &settings);
-
     close (ptym);
     close (0);
     close (1);
     //close (2);
-    
     if ( (-1 == dup (ptys)) || 
          (-1 == dup (ptys)) ) // || (-1 == dup (ptys)) )
     {
@@ -239,16 +238,6 @@
       GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "setsid");
       return 1;
     }
-    if (-1 == ioctl (0, TIOCSCTTY, 1))
-    {
-      GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "ioctl");
-      return 1;
-    }
-    if (-1 == tcsetpgrp(0, mypid))
-    {
-      GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "tcsetpgrp");
-      return 1;
-    }
     LOG_DEBUG ("Execing %s\n", chld_argv[0]);
     if (-1 == execvp (chld_argv[0], chld_argv))
     {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]