diff options
| author | Robin Haberkorn <rhaberkorn@fmsbw.de> | 2026-01-24 16:29:23 +0100 |
|---|---|---|
| committer | Robin Haberkorn <rhaberkorn@fmsbw.de> | 2026-01-24 16:37:27 +0100 |
| commit | 7ff541040edc3b3f8a25bb69e04ecb57cba12954 (patch) | |
| tree | 36e3e6fd6edca9f05f0e6afe193f0f241c305907 /configure.ac | |
| parent | 54858904a67e683483bdfb33c08fe9941ab16cf4 (diff) | |
GTK: fixed --detach and support stdout/stderr redirections
* We fork after command line arguments have been parsed, which
is after gtk_get_option_group() has been called.
This means that GTK was already initialized and it wasn't safe
to continue after forking.
* As a workaround, we now re-exec with the original argv array,
so GTK can be properly reinitialized.
Since we did not remove `--detach` from argv (and that would be
nontrivial), it would fork again endlessly,
so we use an environment variable
$__SCITECO_DETACHED to guard against recursive forks.
* Also, do not close stdin/stdout/stderr if has been redirected
to a file, so you can now e.g. call `gsciteco -d >some-file`.
* This was broken since v2.5.0.
Diffstat (limited to 'configure.ac')
| -rw-r--r-- | configure.ac | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index ed5e056..a469a98 100644 --- a/configure.ac +++ b/configure.ac @@ -215,7 +215,7 @@ case $host in *-*-linux* | *-*-*bsd* | *-*-darwin* | *-*-cygwin* | *-*-haiku*) # NOTE: Keep this on a single line for compatibility # with ancient versions of Autoconf. - AC_CHECK_FUNCS([realpath readlink pathconf fchown dup dup2 getpid open read kill mmap popen pclose isatty fork setsid], , [ + AC_CHECK_FUNCS([realpath readlink pathconf fchown dup dup2 getpid open read kill mmap popen pclose isatty fork execv setsid], , [ AC_MSG_ERROR([Missing libc function]) ]) AC_SEARCH_LIBS(dladdr, [dl], , [ |
