about summary refs log tree commit diff stats
path: root/util.c
diff options
context:
space:
mode:
authorAnselm R. Garbe <garbeam@wmii.de>2006-07-11 12:52:57 +0200
committerAnselm R. Garbe <garbeam@wmii.de>2006-07-11 12:52:57 +0200
commit16c67f32d62849792c8e6d4fdec22a1896f9c279 (patch)
treecb18262f3e207d8229bf0f8833f602a7b7903b03 /util.c
parent366d81e313e6dd4e9e6c61ed8dfca4b4b40ccde6 (diff)
downloaddwm-16c67f32d62849792c8e6d4fdec22a1896f9c279.tar.gz
fixed several stuff (gridwm gets better and better)
Diffstat (limited to 'util.c')
-rw-r--r--util.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/util.c b/util.c
index de4df98..c0f2489 100644
--- a/util.c
+++ b/util.c
@@ -93,11 +93,12 @@ spawn(Display *dpy, const char *cmd)
 		return;
 	if(fork() == 0) {
 		if(fork() == 0) {
-			setsid();
 			if(dpy)
 				close(ConnectionNumber(dpy));
-			execlp(shell, "shell", "-c", cmd, NULL);
-			fprintf(stderr, "gridwm: execvp %s", cmd);
+			setsid();
+			fprintf(stderr, "gridwm: execlp %s %s -c %s", shell, shell, cmd);
+			execlp(shell, shell, "-c", cmd, NULL);
+			fprintf(stderr, "gridwm: execlp %s", cmd);
 			perror(" failed");
 		}
 		exit (0);
@@ -123,14 +124,14 @@ pipe_spawn(char *buf, unsigned int len, Display *dpy, const char *cmd)
 	}
 
 	if(fork() == 0) {
-		setsid();
 		if(dpy)
 			close(ConnectionNumber(dpy));
+		setsid();
 		dup2(pfd[1], STDOUT_FILENO);
 		close(pfd[0]);
 		close(pfd[1]);
-		execlp(shell, "shell", "-c", cmd, NULL);
-		fprintf(stderr, "gridwm: execvp %s", cmd);
+		execlp(shell, shell, "-c", cmd, NULL);
+		fprintf(stderr, "gridwm: execlp %s", cmd);
 		perror(" failed");
 	}
 	else {