summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2019-10-01 14:12:41 +0200
committerKarel Kočí <cynerd@email.cz>2019-10-01 14:12:41 +0200
commit9df3176e0c77d5a0a83285955cf608c50a8db3d4 (patch)
tree97f483d4912dfa1ad8adf839ba44ea4793c44ef6
parent21748fee311831e06da6f724d418e1b9dd94c1aa (diff)
downloadsurf-9df3176e0c77d5a0a83285955cf608c50a8db3d4.tar.gz
surf-9df3176e0c77d5a0a83285955cf608c50a8db3d4.tar.bz2
surf-9df3176e0c77d5a0a83285955cf608c50a8db3d4.zip
Revert "Simplify spawn to use more approproate GLib function"v2.0.9.1
This reverts commit 21748fee311831e06da6f724d418e1b9dd94c1aa.
-rw-r--r--surf.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/surf.c b/surf.c
index 39c2b5f..8a1f3d7 100644
--- a/surf.c
+++ b/surf.c
@@ -1037,7 +1037,17 @@ newwindow(Client *c, const Arg *a, int noembed)
void
spawn(Client *c, const Arg *a)
{
- g_spawn_async(NULL, (const gchar* const *)a->v, NULL, G_SPAWN_DEFAULT, NULL, NULL, NULL, NULL);
+ if (fork() == 0) {
+ if (dpy)
+ close(ConnectionNumber(dpy));
+ close(pipein[0]);
+ close(pipeout[1]);
+ setsid();
+ execvp(((char **)a->v)[0], (char **)a->v);
+ fprintf(stderr, "%s: execvp %s", argv0, ((char **)a->v)[0]);
+ perror(" failed");
+ exit(1);
+ }
}
void