# HG changeset patch # User Ben Abbott # Date 1367388141 14400 # Node ID 49832f60282e2d10f9522f97d489bbfe37fb802d # Parent 645672f1c8736d882cc7f031960391346750f9c8 if available, use ioctl to give up controlling terminal * octave-gui.cc (dissociate_terminal): If sys/ioctl.h is available and TIOCNOTTY is defined, use ioctl to give up controlling terminal on Unixy systems. diff -r 645672f1c873 -r 49832f60282e libgui/src/octave-gui.cc --- a/libgui/src/octave-gui.cc Tue Apr 30 14:32:16 2013 -0400 +++ b/libgui/src/octave-gui.cc Wed May 01 02:02:21 2013 -0400 @@ -29,6 +29,12 @@ #include +#include + +#if defined (HAVE_SYS_IOCTL_H) +#include +#endif + #include "lo-utils.h" #include "oct-env.h" #include "syswait.h" @@ -44,7 +50,12 @@ dissociate_terminal (void) { #if ! defined (Q_OS_WIN32) || defined (Q_OS_CYGWIN) +# if defined (HAVE_SYS_IOCTL_H) && defined (TIOCNOTTY) + ioctl (0, TIOCNOTTY); + +# else + pid_t pid = fork (); if (pid < 0) @@ -74,6 +85,7 @@ ? octave_wait::exitstatus (status) : 127); } +# endif #endif }