diff options
author | Christian Persch <chpe@gnome.org> | 2017-02-03 21:16:16 +0100 |
---|---|---|
committer | Christian Persch <chpe@gnome.org> | 2017-02-03 21:24:01 +0100 |
commit | 048195077cee8f315d58fb4b059422cecd317f4a (patch) | |
tree | 828b15f2d5209ba1df30858ff7245f252e8182f5 /src/vtespawn.hh | |
parent | 1226f58cd97aa06f0ce58791153ca1f58e89658a (diff) | |
download | vte-048195077cee8f315d58fb4b059422cecd317f4a.tar.gz |
pty: spawn: Work around g_spawn_async non-cancellability
Until glib gets a fully cancelleable spawning API (either for g_spawn_* or
GSubprocess), just use a trimmed-down copy of gspawn.c with cancellation
added in.
https://bugzilla.gnome.org/show_bug.cgi?id=772354
Diffstat (limited to 'src/vtespawn.hh')
-rw-r--r-- | src/vtespawn.hh | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/vtespawn.hh b/src/vtespawn.hh new file mode 100644 index 00000000..6b75e3ed --- /dev/null +++ b/src/vtespawn.hh @@ -0,0 +1,48 @@ +/* gspawn.h - Process launching + * + * Copyright 2000 Red Hat, Inc. + * + * GLib is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * GLib 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with GLib; see the file COPYING.LIB. If not, write + * to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#pragma once + +#include <glib.h> + +gboolean vte_spawn_async_cancellable (const gchar *working_directory, + gchar **argv, + gchar **envp, + GSpawnFlags flags, + GSpawnChildSetupFunc child_setup, + gpointer user_data, + GPid *child_pid, + gint timeout, + GPollFD *pollfd, + GError **error); + +gboolean vte_spawn_async_with_pipes_cancellable (const gchar *working_directory, + gchar **argv, + gchar **envp, + GSpawnFlags flags, + GSpawnChildSetupFunc child_setup, + gpointer user_data, + GPid *child_pid, + gint *standard_input, + gint *standard_output, + gint *standard_error, + gint timeout, + GPollFD *pollfd, + GError **error); |