[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] libfshelp: keep stdin and stdout open
From: |
Flávio Cruz |
Subject: |
[PATCH] libfshelp: keep stdin and stdout open |
Date: |
Thu, 31 Jul 2008 18:45:43 +0100 |
Hi,
This patches changes the available file descriptors when starting
translator processes. It keeps stdin and stdout open, both pointing to
/dev/null.
This patch has the side effect of fixing the strange behavior of CLISP
when starting Lisp translators (it goes into a stack overflow with
stdin and stdout closed).
Notes on new headers:
- fcntl.h: O_READ, O_WRITE
- paths.h: _PATH_DEVNULL
Index: start-translator.c
===================================================================
RCS file: /sources/hurd/hurd/libfshelp/start-translator.c,v
retrieving revision 1.5
diff -u -r1.5 start-translator.c
--- start-translator.c 30 Jan 2001 23:45:32 -0000 1.5
+++ start-translator.c 28 Jul 2008 20:01:50 -0000
@@ -20,6 +20,8 @@
#include "fshelp.h"
#include <unistd.h>
+#include <fcntl.h>
+#include <paths.h>
#include <string.h>
#include <hurd.h>
@@ -43,6 +45,8 @@
ports[INIT_PORT_CWDIR] = getcwdir ();
ports[INIT_PORT_CRDIR] = getcrdir ();
ports[INIT_PORT_AUTH] = getauth ();
+ fds[STDIN_FILENO] = file_name_lookup (_PATH_DEVNULL, O_READ, 0);
+ fds[STDOUT_FILENO] = file_name_lookup (_PATH_DEVNULL, O_WRITE, 0);
fds[STDERR_FILENO] = getdport (STDERR_FILENO);
err = fshelp_start_translator_long (underlying_open_fn, cookie,
libfshelp-start-translator.patch
Description: Text Data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] libfshelp: keep stdin and stdout open,
Flávio Cruz <=