Mercurial > octave-nkf
view src/main.cc @ 17568:1b388d922e6b
provide --no-fork command line option
* octave.cc (no_fork_option): New static varaible.
(NO_FORK_OPTION): New macro.
(long_opts): Include it in the list.
(usage_string, verbose_usage): Update for new --no-fork option.
(octave_process_command_line): Handle NO_FORK_OPTION case.
* octave-gui.h, octave-gui.cc (octave_start_gui): New arg, fork.
Don't call dissociate_terminal if fork is false.
* octave.h, octave.cc (octave_fork_gui): New function.
* main.cc (main): Use it to pass --no-fork option to gui.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 04 Oct 2013 13:53:25 -0400 |
parents | 054905bfc306 |
children | d63878346099 |
line wrap: on
line source
/* Copyright (C) 2012 John W. Eaton This file is part of Octave. Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <http://www.gnu.org/licenses/>. */ #ifdef HAVE_CONFIG_H #include <config.h> #endif #include "defaults.h" #include "octave.h" #include "octave-gui.h" #include "sysdep.h" int main (int argc, char **argv) { int retval = 0; octave_process_command_line (argc, argv); sysdep_init (); install_defaults (); if (octave_starting_gui ()) retval = octave_start_gui (argc, argv, octave_fork_gui ()); else { octave_initialize_interpreter (argc, argv, 0); retval = octave_execute_interpreter (); } return retval; } /*! @mainpage Source code documentation for GNU Octave GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient interactive command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments. It may also be used as a batch-oriented language for data processing. GNU Octave is free software. You may redistribute it and/or modify it under the terms of the <a href="http://www.gnu.org/licenses/">GNU General Public License</a> as published by the Free Software Foundation. This is the developer documentation for Octave's own source code. It is intended to help for hacking Octave. It may also be useful for understanding the Octave API when writing your own .oct files. */