From 14c4cd593a533c42419f8f2163ea39ef0f3571e1 Mon Sep 17 00:00:00 2001 From: Steven Luo Date: Mon, 22 Feb 2010 02:44:07 -0800 Subject: [PATCH] Revert "Close stdin/stdout/stderr in child processes before exec()" This reverts commit 17853b6cdd152a6c53a3e3e11506e3a780e4991c. --- launcher.c | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/launcher.c b/launcher.c index 93cce2f..2667623 100644 --- a/launcher.c +++ b/launcher.c @@ -26,8 +26,6 @@ #include #include #include -#include -#include #include #ifdef FREMANTLE @@ -105,20 +103,6 @@ static DBusHandlerResult check_microb_finished(DBusConnection *connection, } #endif -/* Close stdin/stdout/stderr and replace with /dev/null */ -static int close_stdio(void) { - int fd; - - if ((fd = open("/dev/null", O_RDWR)) == -1) - return -1; - - if (dup2(fd, 0) == -1 || dup2(fd, 1) == -1 || dup2(fd, 2) == -1) - return -1; - - close(fd); - return 0; -} - static void launch_tear(struct swb_context *ctx, char *uri) { int status; static DBusGProxy *tear_proxy = NULL; @@ -155,7 +139,6 @@ static void launch_tear(struct swb_context *ctx, char *uri) { } /* Child process */ setsid(); - close_stdio(); } execl("/usr/bin/tear", "/usr/bin/tear", uri, (char *)NULL); } @@ -375,8 +358,6 @@ void launch_microb(struct swb_context *ctx, char *uri) { g_object_unref(g_proxy); } else { /* Child process */ - close_stdio(); - /* exec maemo-invoker directly instead of relying on the /usr/bin/browser symlink, since /usr/bin/browser may have been replaced with a shell script calling us via D-Bus */ @@ -391,8 +372,6 @@ void launch_microb(struct swb_context *ctx, char *uri) { waitpid(pid, &status, 0); } else { /* Child process */ - close_stdio(); - /* exec maemo-invoker directly instead of relying on the /usr/bin/browser symlink, since /usr/bin/browser may have been replaced with a shell script calling us via D-Bus */ @@ -488,7 +467,6 @@ static void launch_other_browser(struct swb_context *ctx, char *uri) { } /* Child process */ setsid(); - close_stdio(); } execl("/bin/sh", "/bin/sh", "-c", command, (char *)NULL); } -- 1.7.9.5