[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r30052 - msh/src
From: |
gnunet |
Subject: |
[GNUnet-SVN] r30052 - msh/src |
Date: |
Wed, 9 Oct 2013 14:50:15 +0200 |
Author: harsha
Date: 2013-10-09 14:50:15 +0200 (Wed, 09 Oct 2013)
New Revision: 30052
Modified:
msh/src/mshd.c
msh/src/test_pty.c
Log:
-setup tty before duping stdin/out/err
Modified: msh/src/mshd.c
===================================================================
--- msh/src/mshd.c 2013-10-09 12:11:03 UTC (rev 30051)
+++ msh/src/mshd.c 2013-10-09 12:50:15 UTC (rev 30052)
@@ -1183,7 +1183,8 @@
(void) unlink (hostsfile);
GNUNET_free (hostsfile);
}
+ LOG_DEBUG ("Finalizing\n");
+ GNUNET_break (MPI_SUCCESS == MPI_Finalize());
LOG_DEBUG ("Returning\n");
- GNUNET_break (MPI_SUCCESS == MPI_Finalize());
return ret;
}
Modified: msh/src/test_pty.c
===================================================================
--- msh/src/test_pty.c 2013-10-09 12:11:03 UTC (rev 30051)
+++ msh/src/test_pty.c 2013-10-09 12:50:15 UTC (rev 30052)
@@ -369,6 +369,7 @@
}
if (0 != ret)
{
+ LOG_DEBUG ("Forked child successfully\n");
chld_io = GNUNET_DISK_get_handle_from_int_fd (master);
read_child_task =
GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL, chld_io,
@@ -380,9 +381,7 @@
int slave;
close (master);
- close (0);
- close (1);
- close (2);
+ LOG_DEBUG ("Opening slave PTY %s\n", fn);
slave = open (fn, O_RDWR);
if (-1 == slave)
{
@@ -391,26 +390,32 @@
}
if (-1 == tcsetattr (slave, TCSANOW, &tio))
{
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "tcsetattr");
- _exit (1);
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "tcsetattr");
+ //_exit (1); /* Ignore for now */
}
if (-1 == ioctl (slave, TIOCSWINSZ, &ws))
{
GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "ioctl");
_exit (1);
}
+ if (-1 == setsid ())
+ {
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "setsid");
+ _exit (1);
+ }
+ close (0);
+ close (1);
+ close (2);
if ( (-1 == dup2 (slave, 0)) ||
(-1 == dup2 (slave, 1)) ||
(-1 == dup2 (slave, 2)) )
{
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "dup");
- _exit (1);
+ //GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "dup"); //we won't get it
+ //at this point
+ _exit (2);
}
- if (-1 == setsid ())
- {
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "setsid");
- _exit (1);
- }
+ close (slave);
+ LOG_DEBUG ("Execing %s\n", chld_argv[0]);
if (-1 == execvp (chld_argv[0], chld_argv))
{
GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "execvp");
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r30052 - msh/src,
gnunet <=